用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语言普适性最强的一种计算机程序编辑语言,它不仅可以发挥出高级编程语言的功用,还具有汇编语言的优点,因此相对于其它编程语言,它具有自己独特的特点。具体体现在以下三个方面:

1、广泛性。C 语言的运算范围的大小直接决定了其优劣性。C 语言中包含了34种运算符,因此运算范围要超出许多其它语言,此外其运算结果的表达形式也十分丰富。此外,C 语言包含了字符型、指针型等多种数据结构形式,因此,更为庞大的数据结构运算它也可以应付。

2、简洁性。9 类控制语句和32个KEYWORDS是C语言所具有的基础特性,使得其在计算机应用程序编写中具有广泛的适用性,不仅可以适用广大编程人员的操作,提高其工作效率,同 时还能够支持高级编程,避免了语言切换的繁琐。

3、结构完善。C语言是一种结构化语言,它可以通过组建模块单位的形式实现模块化的应用程序,在系统描述方面具有显著优势,同时这一特性也使得它能够适应多种不同的编程要求,且执行效率高。

参考资料:百度百科——C语言

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-06-22
/**
**程序描述:求出1!+2!+3!+……+20!的值。
**算法思路:先求出每一项的阶乘值,然后将所有项的阶乘值相加。
*/
#include <stdio.h>
#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;
}

第2个回答  2014-05-21
已解决问题 收藏 转载到QQ空间 C++ 1+2!+3!+4!....20! [ 标签:c++ ] 帮写一下程序 へ炫舞メ兵ゾ 回答:5 人气:5 解决时间:2009-11-04 21:05 检举 #include <stdio.h>
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 型的,要溢出的本回答被网友采纳
第3个回答  2014-05-21
#include<stdio.h>
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);
}
不懂回复 ^ _ ^
第4个回答  2014-05-21
#include<stdio.h>
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);
}

用C语言编程求出1!+2!+3!+……+20!的值
printf("1+2!+3!+…+20!=%d",sum);}

编程求1+2!+3!+……+20!的值
程序代码如下: main(){ float s=0,t=0; int n; for(n=1;n<=20;n++) { t=t*n; s=s+t; } printf("1!+2!+...20!=%e\\n",s);}

c语言1!+2!+3!…+20!等于?
C语言不支持大整数,这个已经是可以直接计算的极限了。

c语言程序1+2!+3!...+20!
以下是C语言程序计算1+2!+3!...+20!的结果:♡♡ 有帮助到的话,麻烦采纳哦!♡♡

关于C语言编程计算1!+2!+3!+…+20!。的问题!
printf("1!+2!+...+20!=%ld\\n",t);ld 是以双精度浮点型输出, 不知道你是否为你的笔误,输出的应该是 s 吧.用断点调试可以看到: 在进行第14次运算的时候,s的值已经为负,说明s的值已经超越了long的最大值,而你输出的是 t ,表面上看n=19时输出的是正值,好像是正确的,其实 t 的值在...

求1+2!+3!+...+20!的值
结果:2561327494111820313。C语言位运算 有6种: &, | , ^(亦或), <<(左移), >>(右移)。注意:参与位运算的元素必须是int型或者char型,以补码形式出现。按位与& &运算常应用于:迅速清零、保留指定位、判断奇偶性。a & 1 = 1;则a为奇数 b & 1 = 0;则a为偶数 ...

C语言 编程计算1!+2!+3!+…+20!。出现的问题
printf("1!+2!+...+20!=%ld\\n",t);ld 是以双精度浮点型输出, 不知道你是否为你的笔误,输出的应该是 s 吧.用断点调试可以看到: 在进行第14次运算的时候,s的值已经为负,说明s的值已经超越了long的最大值,而你输出的是 t ,表面上看n=19时输出的是正值,好像是正确的,其实 t 的值在...

c语言编程:求1!+2!+3!+4!+……+20!
int result = 0;for (int i = 1; i <= 20; i++){ int temp = 1;for (int j = 1; j <= i; j++){ temp = temp*j;} result += temp;} 循环结束后result就是结果,已经在VS里成功运行。忘采纳,纯手打。Calm_pass的结果多了1,因为总和要从0开始累加,而不是1。

求前20的阶乘(即求1!+2!+3!+、、、+20!){要求是用C语言中的循环指令编...
你好,程序如下: #include<stdio.h> void main(){ long i,j,sum;for(i=1,j=1,sum=1;i<=4;i++){ j=j*i;sum+=j;} printf("1!+2!+3!+...+20! = %ld\\n",sum-1);} 有疑问提出。望采纳。

c语言 1!+2!+3!+……20! 用函数递归法
include<stdio.h>#include<stdlib.h>int jc(int n){int i = 1,result=1;for (i = 1; i <= n; i++){result *= i;}return result;}int jcsum(int n){if (n== 1){return 1;}else{return jc(n) + jcsum(n - 1);}}void main(){int result = 0;result = jcsum(20);...

相似回答