C语言编写1到10的阶乘的和

新手编写
#include<stdio.h>
void main()
{ long i,j=1,s=0;
for(i=1;i<=10;i++)
{ j=j*i;
s=s+j;
}
printf("%d",s);
getch();
}
为毛答案是负的...

第1个回答  2014-03-31

/*

4037913


Press any key to continue

*/

#include<stdio.h>

long fact(int n) {
int i;
long fac = 1;
for(i = 2; i <= n; ++i) fac *= i;
return fac;
}

void main() {
int i;
long sum = 0;
    for(i = 1; i <= 10;i++)
sum += fact(i);
    printf("%ld\n",sum);
    getchar();
}

本回答被提问者采纳
第2个回答  2014-03-31
最后输出是不是应该输出 %ld
听说有的编译器int类型的是2个字节,会溢出追问

哦,是这样,非常感谢!!

第3个回答  2014-03-31
你要算的是10!+9!...+1!这个表达式么?追问

是的

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网