C语言编程题,求1+2!+3!+...+20!的和,怎么做?

如题所述

以下是用C语言编程求出1!+2!+3!+……+20!的值示例代码:  

#include <stdio.h>  

int main()  

{  

int i,j;  

long sum,k;  

sum=0;  

for(i=1;i<=20;i++)  

{k=1;  

for(j=1;j<=i;j++)  

{  

k=k*j;  

}  

sum=sum+k;  

}  

printf("1+2!+3!+…+20!=%d",sum);  

}

扩展资料:

C语言是面向过程的编程语言,用户只需要关注所被解决问题的本身,而不需要花费过多的精力去了解相关硬件,且针对不同的硬件环境,在用C语言实现相同功能时的代码基本一致,不需或仅需进行少量改动便可完成移植。

这就意味着,对于一台计算机编写的C程序可以在另一台计算机上轻松地运行,从而极大的减少了程序移植的工作强度。

C语言既有高级语言的特点,又具有汇编语言的特点;既是一个成功的系统设计语言,又是一个实用的程序设计语言;既能用来编写不依赖计算机硬件的应用程序,又能用来编写各种系统程序;是一种受欢迎、应用广泛的程序设计语言。

参考资料来源:百度百科-C语言

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-11-23
# include <stdio.h>
int main ()
{
    int i;
    long long sum = 0, jc=1;
    for (i = 1; i <= 20; ++i){
        jc *= i;
        sum += jc;
    }
    printf ("%lld\n", sum);
return 0;
}

追答

楼下那个会数据溢出

本回答被提问者和网友采纳
第2个回答  2015-07-07
这个简单的,看你要求复杂性是多少。
最简单的是,写一个函数,求阶乘的。
然后暴力算出来追问

写出来,我们考试呢

追答

已经有人写出来了。。。

第3个回答  2020-11-19

C语言经典例子之求1+2!+3!+...+20!的和

第4个回答  2015-07-07
#include<stdio.h>

unsigned long long fun(int n);

int main()
{
int i;
unsigned long long s=0;

for(i=1;i<=20;i++)
s+=fun(i);
printf("%llu",s);
return 0
}
unsigned long long fun(int n)
{
if(n==0||n==1)
return 1;
else
return n*fun(n-1);
}