以下是用C语言编程求出1!+2!+3!+……+20!的值示例代码
#include
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语言普适性最强的一种计算机程序编辑语言,它不仅可以发挥出高级编程语言的功用,还具有汇编语言的优点,因此相对于其它编程语言,它具有自己独特的特点。具体体现在以下三个方面:
1、广泛性。C 语言的运算范围的大小直接决定了其优劣性。C 语言中包含了34种运算符,因此运算范围要超出许多其它语言,此外其运算结果的表达形式也十分丰富。此外,C 语言包含了字符型、指针型等多种数据结构形式,因此,更为庞大的数据结构运算它也可以应付。
2、简洁性。9 类控制语句和32个KEYWORDS是C语言所具有的基础特性,使得其在计算机应用程序编写中具有广泛的适用性,不仅可以适用广大编程人员的操作,提高其工作效率,同 时还能够支持高级编程,避免了语言切换的繁琐。
3、结构完善。C语言是一种结构化语言,它可以通过组建模块单位的形式实现模块化的应用程序,在系统描述方面具有显著优势,同时这一特性也使得它能够适应多种不同的编程要求,且执行效率高。
参考资料:百度百科——C语言
/**
**程序描述:求出1!+2!+3!+……+20!的值。
**算法思路:先求出每一项的阶乘值,然后将所有项的阶乘值相加。
*/
#include
#define N 20
typedef unsigned long long uInt64; //自定义类型
//求出每一项阶乘值的函数
uInt64 fact(int n)
{
int i;
uInt64 s;
for(i=s=1;i<=n;i++)
s*=i; //从1开始循环累加相乘
return s;
}
int main()
{
uInt64 s;
int i;
for(i=1,s=0;i<=N;i++)
s+=fact(i); //从第1项开始循环累加每一项的阶乘值
printf("1!+2!+3!+……+20!=%llu\n",s);
return 0;
}
已解决问题 收藏 转载到QQ空间 C++ 1+2!+3!+4!....20! [ 标签:c++ ] 帮写一下程序 へ炫舞メ兵ゾ 回答:5 人气:5 解决时间:2009-11-04 21:05 检举 #include
void main()
{
long unsigned double s=0,t=1;
int ni=1,n;
printf("请输入N值:");
scanf("%d",&n);
while (ni<=n)
{
t=t*ni;
s=s+t;
ni++;
}
printf("%d的结果为:%.0f\n",n,s);
}这是从1 加到N 的阶乘的程序,你改改就行了,不过,一定不能用INT 型的,要溢出的
#include
void main()
{
int i,j;
int x;
long sum=0;
for (i=1;i<=20;i++)
{
x=1;
for (j=1;j<=i;j++) //阶层计算
x=x*j;
sum=sum+x; //1....20所有阶层之和
}
printf("sum=%d\n",sum);
}
不懂回复 ^ _ ^
#include
void main()
{
int i;
int m=1;
long sum=0;
for (i=1;i<=20;i++)
{
m=m*i
sum=sum+m}
printf("1!+2!+3!+……+20!的值:sum=%ld\n",sum);
}