C语言编程:求1!+2!+3!+4!+5!+6!+7!+8!+9!+10! ,帮我求一下这个程序。谢谢!

如题所述

#include<stdio.h>
int main()
{
int i,sum=0,t,s;
//提示语句不写了
for(i=1;i<=10;i++) //第一个循环,就是数字1到10 的递增
{
s=1; //每次阶乘都要初始化s=1
for(t=1;t<=i;t++)//循环里的循环 ,求每个i的阶乘
s*=t;// 目的是把i的阶乘放到s中去
sum=sum+s;//把每个阶乘加起来 ,这句不在for循环里面
}
printf("%d\n",sum);//输出最后的结果
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-01-01
#include<stdio.h>
#include<stdlib.h>
double Sof(int n);
double Sum(int x);
int main()
{
int a;
printf("求1!+2!+……+n!的和\n输入n:");
scanf("%d",&a);
printf("阶乘和为:%.0lf\n",Sum(a));
system("pause");
return 0;
}
double Sof(int n)
{
double k=1;
while (n!=1)
{
k*=n;
n--;
}
return k;
}
double Sum(int x)
{
double y=1;
while(x!=1)
{
y+=Sof(x);
x--;
}
return y;
}追问

对不起,我是初学者大一的看不懂,有没有简单一点的方法?

追答

额,我也是大一的,,,这个是较规范的 用多个函数写的,一个主函数也能完成 ,等等啊

#include

int main()
{
int a , k , n ;
double sum = 1 , t = 0 ;
printf("求1!+2!+……+n!的和\n输入n:");
scanf("%d",&a);
for( k = 1 ; k <= a ; k ++)
{
for(n = k ; n <= k ; n ++ )
{
sum *= n;
}
t += sum ;
}

printf("阶乘和为:%.0lf\n",t);

return 0;
}

第2个回答  推荐于2018-02-27
#include<stdio.h>
void main()
{
int i,s=1;
long sum;
for(i=1;i<11;i++)
{
s=s*i;
sum+=s;
}
printf("sum=%ld\n",sum);
}本回答被提问者和网友采纳
第3个回答  2012-01-01
#include<stdio.h>
#include<conio.h>
main()
{
long int i,sum=0,temp=1;/* 定义为长整型 */
for(i=1;i<=10;i++)
{
temp=temp*i;
sum=sum+temp;
}
printf("1!+2!+...+10!= %ld\n",sum);
getch();
}

结果是
1!+2!+...+10!= 4037913
第4个回答  2012-01-02
#include<stdio.h>
int main()
{
printf("1!+2!+3!+4!+5!+6!+7!+8!+9!+10!=4037913");
return 0;
}