c语言编程 1!+2!+3!+4!+5!+6!+7!+8!

如题 如何编程? ! 是阶乘 在线等
谢谢
printf 后面输出格式 是不是应该加点什么 8! 感觉 会溢出 具体操作我不会 》》

第1个回答  2009-04-28
#include <stdio.h>
main()
{
int num=1,sum=0,i;
for(i=1;i<=8;i++)
{
num*=i;
sum+=num;
}
printf("sum=%d.\n",sum);
}
//调试成功
第2个回答  2009-04-29
//递归解法
long JieCheng(long n)
{
if(n==1) return 1;
n=JieCheng(n-1)*n;
return n;
}
long LianJia(long n)
{
if(n==1) return 1;
n=LianJia(n-1)+JieCheng(n);
return n;
}
main()
{
long a;
a=8;
printf("%d\n",LianCheng(8));
}
第3个回答  2009-04-28
要是怕溢出的话把2楼中的int型改为long int,
long int sum;
printf("%ld\n",sum);
第4个回答  2009-04-28
如果只是求解到8的话,就没有必要。一楼的简单,二楼的有利于以后的习惯和规范,都不错。随便选择哪一个都可以的。
第5个回答  2009-04-28
#include <stdio.h>
int fun(int n)
{
if(n <= 1)
{return 1;}
else
{return n*fun(n-1);}
}
int main()
{
int sum=0;
for(int i=1;i<=8;i++)
{
sum += fun(i);
}
printf("%d\n",sum)
}本回答被提问者采纳
相似回答