求1到100的阶乘相加(1!+2!+。。。100!)
C语言
相关代码
粘贴代码文本(请勿用截图)
#include<stdio.h>
int main()
{
int i,j;
double item,sum;
sum=0;
for(i=1;i<=100;i++)
{
item=1;
for(j=1;j<=i;j++)
item=item*j;
sum=sum+item;
}
printf("%f",sum);
}
请教下,为什么item=1不能写在for循环的外(上)面,sum=0也不能放在for循环里面?
举例:
以上三个关于sum/item的位置输出的结果都是错的,只有下面的这个才是正确答案
可以先了解下c的数据类型,还有循环语句的执行流程,这些基础学好了,你这个问题就很容易理解了
你这种情况可以先把循环的次数减少一些,debug运行跟一下,对了解代码执行顺序很好,还有可以笔算一下