求1!+2!+3!+……+20!C语言编程

2024-11-27 00:51:23
推荐回答(2个)
回答1:

#include
int
main()
{
int
i,n=1,sum=0;
for(i=1;i<=20;i++)
{
n=n*i;
sum=sum+n;
}
printf("%d",sum);//这里你原来出错了,你"%d,sum",把变量sum弄成字符串的一部分,这样printf函数会找字符串"%d,sum"往后的储存空间当作是sum嵌进去,结果就可能是268040729,sum之类的。
return
0;
}

回答2:

#include
  int
main
()
  {
  
int
i,j,n,sum=0;
  
for(i=1,i<=20;i++)
//这一层循环20次,每次分别计算1!、2!.....20!。
  
{
  
for(j=1,n=1;j<=i;j++)
//这一层循环算到几的阶乘就循环几次
  
{
  
n=n*j;
  
}
  
sum
=
sum
+
n;
  
}
  printf("%d",sum);
  }
我是直接在网页里面打的代码,不要直接复制,因为没调试过,笔误难免,不保证能直接运行。但是我觉得这个逻辑肯定是对的。