求1!+2!+3!+4!+....+20!
【源代码】
#include <stdio.h>
int main(void)
{
double sum,i,j,Jie; //用双精度浮点型变量,避免溢出;
for(i=1,sum=0;i<=20;i++) //利用两个for循环简简单单求出
{
for(j=1,Jie=1;j<=i;j++)
{
Jie*=j;
}
sum+=Jie;
}
printf("1!+2!+3!+4!+...+20!=%lf",sum);
return 0;
}
【运行结果】
注:这里与计算器计算出来的数据相差13,能是浮点数在计算机里的存储和计算有关吧,可能造成了舍入误差。