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

来源:百度知道 编辑:UC知道 时间:2024/06/03 14:30:57
如题 如何编程? ! 是阶乘 在线等
谢谢
printf 后面输出格式 是不是应该加点什么 8! 感觉 会溢出 具体操作我不会 》》

#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)
}

//递归解法
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));
}

#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楼中的int型改为long int,
long int sum;
printf("%ld\n",sum);

如果只是求解到8的话,就没有必要。一