C语言求1到20阶乘的和,出来的是负数代码如下#includemain(){long double s=-1,i,n,t=1;for(n=1;n0;i--)t=t*i;}printf("1!+2!+3!+...+20!=%d\n",s);return 0;}

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 19:06:36

C语言求1到20阶乘的和,出来的是负数代码如下#includemain(){long double s=-1,i,n,t=1;for(n=1;n0;i--)t=t*i;}printf("1!+2!+3!+...+20!=%d\n",s);return 0;}
C语言求1到20阶乘的和,出来的是负数
代码如下
#include
main()
{
long double s=-1,i,n,t=1;
for(n=1;n0;i--)
t=t*i;
}
printf("1!+2!+3!+...+20!=%d\n",s);
return 0;
}

C语言求1到20阶乘的和,出来的是负数代码如下#includemain(){long double s=-1,i,n,t=1;for(n=1;n0;i--)t=t*i;}printf("1!+2!+3!+...+20!=%d\n",s);return 0;}

long double 改为 double,

%d 改为 %lf 

#include <stdio.h>

int main()
{
  double s = 0, t = 1, n;
  for (n = 1; n <= 20; n++)
  {
    t *= n;
    s += t;
  }
  printf("1!+2!+3!+...+20! = %.0lf\n",s);
  return 0;
}
// 输出:1!+2!+3!+...+20! = 2561327494111820288

 另外,你的程序求的是 19!.