输入n。求1!+2!+……+n!
#include<stdio.h>void main()
{
int n,i,j;
long t=1,sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
{t=t*j;}
sum=sum+t;
}
printf("%ld\n",sum);
}
弱弱的问一下这个程序是哪出问题了?
答案错误的。 试试把i,j,n 换成 long
不行啊 你少了个 t=1;
#include<stdio.h>
int main()
{
long n,i,j;
long t=1,sum=0;
scanf("%ld",&n);
for(i=1;i<=n;i++){
/*这部分的循环可以优化。
t=1;
for(j=1;j<=i;j++){
t=t*j;
}
sum=sum+t;
*/
t*=i;
sum+=t;
}
printf("%ld\n",sum);
return 0;
}
thank you。。 路过看看编程,自己学的已经还给老师了,哎 不可改变你那坏习惯....
变量一定要初始化...
页:
[1]