以下是引用m456m654在2009-9-26 14:45:09的发言:
#include <stdio.h>
main()
{
int i,j;
long int sum,k;
sum=0;
k=1;
for(i=1;i<21;i++)
{
for(j=1;j<=i;j++)
k=k*j;
sum=sum+k;
}
printf("The result is %ld.\n",sum);
}
k=1;的位置应该改一下吧!#include <stdio.h>
main()
{
int i,j;
long int sum,k;
sum=0;
k=1;
for(i=1;i<21;i++)
{
for(j=1;j<=i;j++)
k=k*j;
sum=sum+k;
}
printf("The result is %ld.\n",sum);
}
for(i=1;i<21;i++)
{k=1;
for(j=1;j<=i;j++)
如果不把K=1放里面
那么算n!都算错了
按上面的算法,当算3!的时候 K的初值是2,那么3!=2*1*2*3=12了
4!=12*1*2*3*4了!!!
结果当然就错了!