c语言编写 阶乘累加

1!+2!+3!·····20!=?

#include<stdio.h>
long cal(int i)
{
long s;
int j;
for(j=1,s=1;j<=i;j++)
s=s*j;
return s;
}
main()
{
int i;
long sum=0;
for(i=1;i<=3;i++)
sum+=cal(i);
printf("%d\n",sum);
}
这个是c语言编程的程序,我已经在vc里面通过调试了,1楼的好像写的c++的程序吧
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-07-31
long acculater(long n){
long sum=1;
if (n==1)
{
return 1;
}
for(int i=1;i<=n;i++){
sum*=i;

}
sum+=acculater(n-1);
return sum;
}
用了递归 效率可能不高
第2个回答  推荐于2017-08-03
#include "stdio.h"
main()
{int i,j,sum1,sum=0,n;
for(i=1;i<=20;i++)
{sum1=1;
for(j=1;j<=i;j++)
{
sum1=sum1*j;
}
sum=sum+sum1;
}
printf("1——20阶乘的和为:%d",sum);
}本回答被网友采纳
第3个回答  2010-07-31
long int jiecheng(int a)
{
long int m = 1;
do{
m *= a;
a--;
}while(a > 0);
return m;
}

int main()
{
long int sum = 0;
for(int i = 1; i <= 20; i++)
{
sum += jiecheng(i);
}
cout << sum;
return 0;
}本回答被网友采纳
第4个回答  2017-08-02
#include <stdio.h>

int jiecheng(int n){
if(n==1)
return 1;
else
return n*jiecheng(n-1);
}

int main(){
int i,result=0;
for(i=1;i<=20;i++){
result=result+jiecheng(i);
}
printf("%d\n",result);
return 0;
}

求个C语言程序:将1到20的阶乘累加
将1到20的阶乘累加的C语言程序如下:include<stdio.h> include<string.h> long long getdata(long long n){ long long sum = 1;while(n){ sum*=n--;} return sum;} int main(){ long long sum = 0;long long nums = 20;while(nums){ sum+=getdata(nums--);} printf("%lld",sum...

c语言编写 阶乘累加
} 这个是c语言编程的程序,我已经在vc里面通过调试了,1楼的好像写的c++的程序吧

C语言中求阶乘的累加。
int f(int n){ if(n<=1)return 1;return n*f(n-1);} int main(int argc, char* argv[]){ int a[10];int sum=0,i;for(i=0;i<10;i++){ scanf("%d",&a[i]);sum+=f(a[i]);} printf("%d\\n",sum);return 0;} ...

用C语言编写函数求2!+4!+6!+8!+10
ints=0,n=1,t=1;\/\/声明变量s,n,t for(s=0;n<=10;n++,s+=t*=n)\/\/计算阶乘并累加到s { t*=n;\/\/更新阶乘t } printf("2!+4!+6!+8!+10!=%d\\n",s);\/\/输出结果 return0;...同时,这里有一些C语言编写函数时的技巧:1.尽量避免全局变量,只在需要的地方使用,比如通过函数...

c语言分别输出1的阶乘到 10的阶乘,并累加阶乘之和。
1、打开Visual Studio,新建一个空白页面。2、在Main函数的上方,我们写上阶乘函数的框架。3、然后定义一个变量【result】。4、然后输入if判断语句。5、然后就可以写下程序的关键语句。6、接下来就可以调用输出。7、最后可以运行测试,这就完成了。

怎么用c语言函数计算出1-100的阶乘之和?
利用for循环计算1~100的阶乘,将1~100的阶乘累加到sum中就是所求。include<stdio.h> void main(){ int i;double t=1,sum=0; \/\/由于100的阶乘int和long int都放不下.所以用double.for(i=1;i<=100;i++) \/\/从1循环到100.{ t = t * i; \/\/计算1~100的阶乘.sum = sum + t; \/...

c语言分别输出1的阶乘到 10的阶乘,并累加阶乘之和是什么?
int n=10;double mul=1;double sum=0;while(n>0){ for(i=1;i<=n;i++){ mul = mul*i;} sum = sum + mul;mul = 1;n--;} printf("结果为:%lf",sum);return 0;} C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、...

用C语言求1~20的阶乘之和!
\/***程序描述:求求1~20的阶乘之和。**算法思路:先求出每一项的阶乘值,然后将所有项的阶乘值相加。*\/#include <stdio.h>#define N 20typedef unsigned long long uInt64; \/\/自定义类型\/\/求出每一项阶乘值的函数uInt64 fact(int n){ int i; uInt64 s; for(i=s=1;i<=n;i...

c语言求阶乘累加和
一个数组里面每一位存的是十进制数三位(也可以只存一位,但是比较慢)也可以理解成一千进制 这样能模拟大整数的乘法、加法 include<stdio.h>#include<string.h> #define max(a,b) (a>b?a:b)int n;FILE * input, * output;struct bigint{int len;int num[1100];}fac,sum;void mul(int...

用C语言编写函数求2!+4!+6!+8!+10
声明一个和记录变量s,声明一个阶乘记录变量t,再声明一个计数变量n。用一个for循环,计数变量n从1开始步长为1增值至10为止;t初值设置为1,始终记录它与n的当前值的乘积,就得到了n的当前值的阶乘n!;s初值置0,累加每个n当前值时的阶乘t,就完成了题设要求。代码如下:include "stdio.h"int ...

相似回答