用c语言计算并输出1!+2!+3!···+n!的值

如题所述

第1个回答  2012-06-12
#include <stdio.h>

int main(void)
{
int i, j, n;
int p = 1, sum = 0;

printf("input n = ");
scanf("%d", &n);

for (i=1; i<=n; i++)
{
p = 1;
for (j=1; j<=i; j++)
{
p *= j;
}
sum += p;
}

printf("1!+2!+3!+...+n! = %d\n", sum);
return 0;
}本回答被提问者采纳
第2个回答  2012-06-12
如此简单,自己想吧追问

那你给写啊!

追答

我写出来的是我的啊,,你写出来才是你的啊

第3个回答  2012-06-12
n最大会有多大?

用c语言计算并输出1!+2!+3!···+n!的值
int main(void){ int i, j, n;int p = 1, sum = 0;printf("input n = ");scanf("%d", &n);for (i=1; i<=n; i++){ p = 1;for (j=1; j<=i; j++){ p *= j;} sum += p;} printf("1!+2!+3!+...+n! = %d\\n", sum);return 0;} ...

c语言求1!+2!+3!+...+n!的值.n由键盘输入
结论是,C语言中计算1!+2!+3!+...+n!的值时,需要注意n的取值范围不能超过13,否则可能会因数据溢出导致结果不准确。以下是两种计算方法的简化版代码:首先,直接使用循环进行累加:当需要计算1到n的阶乘之和,确保输入的n小于或等于13,以避免溢出。以下代码片段展示了这种方法:includeintmain(){...

C语言题 给出步骤解释. 计算s=1+2+3+..….+n,直到s的值大于1000为止,输 ...
void main(){ int n,s;__s=0__ ;\/*第一空*\/\/\/这里写成中文分号了.for( n=1;;n++){\/\/这里写成中文分号了.s=s+n;if( s>1000);__break;__\/*第二空*\/\/\/并把前面的分号去掉.} printf ("s %d n=%d\\n",);_s,n_\/*第三空*\/ \/\/应在)前,s后应有=,应为: printf...

c语言计算式子1!+2!+3!+……+n!,并输出结果,用主函数调用子函数的方法实...
void main(){ int n,i; double s;scanf("%d",&n); s=0;for ( i=1;i<=n;i++ ) s+=f(i);printf("%.0lf\\n",s);} 这里因为阶乘计算结果比较大,怕超出整数范围,所以用了double型变量和函数返回值,如果不担心这点可以替换double成int,printf也换成%d输出 ...

使用C语言输入一个正整数n,输出1+2!+3!+...n!
int main(){ int i,sum=0,t,s,n;printf("请输入一个整数:");\/\/提示语句 scanf("%d",&n);\/\/输入n的值 for(i=1;i<=n;i++) \/\/第一次循环,就是数字1到n 的递增 { s=1;\/\/每次阶乘都要初始化s=1 for(t=1;t<=i;t++)\/\/循环里的循环 ,求每个i的阶乘 s*=t;\/\/ 目的...

1!+2!+3!+…+n!用c语言循环嵌套编写
"%d\\n", sum);return 0;} 首先,使用scanf函数读入一个自然数n。然后,使用循环计算1!+2!+3!+...+n!。在循环中,使用一个变量factorial来保存当前的阶乘值,使用一个变量sum来保存所有阶乘值的和。在每次循环中,先更新factorial的值,然后将其加到sum中。最后,使用printf函数输出sum的值 ...

用c语言求;1!+2!+3!+4!+……+n!
factor(int n){ if(n==0|| n==1)return 1;else return n*factor(n-1);} long sum(int n){ long result=0;int i;for(i=1;i<n+1;i++)result+=factor(i);return result;} void main(){ long result=sum(10);printf("the result of sum(10) is:%ld\\n",result);} ...

c语言 求1!+2!+3!+...+n!的值.n由键盘输入
n的值不能超过13,否则会因为数据溢出而导致结果错误。include <stdio.h> int main(){ long i,n,m,sum=0 scanf("%d",&n);for(i=m=1;i<=n;i++);{ m*=i;sum+=m;} printf("%d\\n",sum);return 0;} 例如:include <stdio.h> \/* 通过递归计算一个数的回阶乘 *\/ int...

用c语言计算sum=1!+2!+3!...+n!
修改了一下 include<stdio.h>main(){int i,n;long sum;long t;printf("输入一个整数:");scanf("%d",&n);sum=0;t=1;for(i=1;i<=n;i++){t=t*i;sum+=t;}printf("累积的和为%d\\n",sum);}

关于用c语言计算sum=1!+2!+3!...+n!
for(i=1;i<=n;i++){t=t*i;sum+=t;printf("累积的和为%d\\n",sum);} 改成 for(i=1;i<=n;i++){t=t*i;sum+=t;}printf("累积的和为%d\\n",sum); \/\/ 挪到括号外面

相似回答