用C语言求和 (即求1!+2!+……+20!)

来源:百度知道 编辑:UC知道 时间:2024/06/14 10:40:59

include<stdio.h>
main()
{int x,y,z,sum;
sum=0;
for(x=1;x<21;x++)
{
for(y=1,z=1;y<=x;y++)
z=z*x;
sum=sum+z;}
printf("%d",sum);
}

(不知道错了没有,你自己操作一下,我家里没下那程序,如果有问题,多多包涵)

这个题目有点麻烦,不像楼上说的那么简单!因为要真正实现这个东西,必须得用字符串数组来实现,即便long long int 都会溢出的,不过如果只是要这个算法倒是很简单。如果要得到真正的答案,楼上的都不会得到

int f(int x)
{int s;
if(x==1)
s=1;
else
s=f(x-1)*x;
return s;
}
main()
{int m=0;
for(i=1;i<=20;i++)
m+=f(i);
printf("%d",m);
}
没考虑x小于1的情况

这个程序算法设计比较简单
嵌套循环就可以完成,建议自行设计,提高比较快

但是要注意可能存在的溢出情况!