每天一个小代码:1!+2!+3!+…+n!.
#include<stdio.h>
int main(void)
{
int i,j,n,a=1,sum=1;
printf("请输入项数:");
scanf("%d",&n);
for(j=1;j<=n;j++){
for(i=1;1<=j;i++){
a=a*i;
}
sum=sum*a;
a=1; //复值
}
printf("%d",sum);
return 0;
}
这道题很简单,当然是找到规律的前提下,我想大家很容易能看得出来,2!=12,3!=123,4!=1234,n!=123*4…*n.
可以看出:每一次都要从1开始乘,每个阶乘都要要比前一个多一,具体大家可以体会一下。循环和分支基本可以解决所有的问题。
这里我要提醒的是:代码中间的 a=1;
很多时候,我们在做计算时,会遇到计算结果和预计不一样,但是过程又没找到问题,那么,是时候想一下,在计算过程中,我们原先定好的变量的值,不小心变了。就像每一次循环结束后 a都会改变,但是预计的是每一次循环开始时a都是我们提前定好的值。