用C语言编程求出1!+2!+3!+……+20!的值
#include
int
main()
{
int
i,n=1,sum=0;
for(i=1;i<=20;i++)
{
n=n*i;
sum=sum+n;
}
printf("%d",sum);//这里你原来出错了,你"%d,sum",把变量sum弄成字符串的一部分,这样printf函数会找字符串"%d,sum"往后的储存空间当作是sum嵌进去,结果就可能是268040729,sum之类的。
return
0;
}
#include double pasc(int);void main(){int a = 20;double sum=0;do{sum+=pasc(a);}while(--a);printf("%.0f",sum);}double pasc(int n){printf("%d
",n);if(n<2)return 1;return n*pasc(n-1);}
以下是用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!+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
",s);
return 0;
}
已解决问题 收藏 转载到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 型的,要溢出的
#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);
}
不懂回复 ^ _ ^
#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!+、、、+n!的值?
include<stdio.h>double fun(int n){if(n==0)return 1.0; return n*fun(n-1);}int main(){int i,n; double s=0; scanf("%d",&n); for(i=1;i<=n;i++) s+=fun(i); printf("%g\\n",s); return 0;} 这个的时间复杂度为O(n^2)...
C语言编程题。编程题目为 编程计算1!+2!+3!+……+10!的值
include <stdio.h>#define N 10 \/\/定义符号常量\/\/求出每一项阶乘值的函数int fact(int n){ int i; int s; for(i=s=1;i<=n;i++) s*=i; \/\/从1开始循环累加相乘 return s;} int main(){ int s; int i; for(i=1,s=0;i<=N;i++) s+=...
C语言编程:下列程序计算1!+2!+3!+……+10!,请填空。
\/\/求出每一项阶乘值的函数 int fact(int n){ int i;int s;for(i=s=1;i<=n;i++)s*=i; \/\/从1开始循环累加相乘 return s;} int main(){ int s;int i;for(i=1,s=0;i<=N;i++)s+=fact(i); \/\/从第1项开始循环累加每一项的阶乘值 printf("1!+2!+3!+……+10!
用c语言编程!要求输入1,输出A.输入26,输出Z。输入27输出AA.输入28输出...
此题可以做,代码如下:\/\/#include "stdafx.h"\/\/If the vc++6.0, with this line.#include "stdio.h"int main(void){ char R[27]="ZABCDEFGHIJKLMNOPQRSTUVWXY",tmp[10]; int n,i,j; while(1){ printf("Input n(int n>0)...\\nn="); if(scanf("%d",&n) &&...
C语言编程:求1!+2!+3!+、、、+n!的值?
include<stdio.h> main(){ int i,b,sum=1,g;\/*定义各个需要的元素,sum初值化,就拿1-4的阶乘的和来试炼*\/ for(i=2;i<5;i++){ g=i;\/*切记要赋值一下,因为下面要改变*\/ for(b=1;b<=i-1;b++){ g*=b;} sum+=g;} printf("总和是%d\\n",sum);} ...
C语言编程计算1!+2!+3!+……+10!的值。
main(){ int i,j,n,sum=0;for(i=1;i<=10;i++){ n=1;for(j=1;j<=i;j++)n*=j;sum+=n;} printf("%d\\n",sum);}
C语言编程求s=1!+3!+5!+...+19!
代码资料:include "stdio.h"int main(int argc,char *argv[]){ __int64 i,t,s;for(s=0,t=i=1;i<20;s+=t*=i++);printf("1!+2!+3!+...+19! = %I64d\\n",s);return 0;}
c语言编程:求1!到n!的和
楼主你好 具体代码如下:include<stdio.h> int fun(int n)\/\/求n!{ int i=1,c=1;while(i<=n){ c*=i;i++;} return c;} int main(){ int i,n;int sum=0;printf("输入n:");scanf("%d",&n);for(i=1 ; i<=n ; i++)sum+=fun(i);printf("输出:%d\\n",sum);return 0...
c语言编程:使用for循环求解:1! + 3! + 5!
include "stdio.h"main(){ int i,j;int a = 1, s = 0;for(i=1;i<=5;i++){ a = a * i;if (i % 2 != 0)s = s + a;} printf("%d\\n", s);}
关于C语言编程计算1!+2!+3!+…+20!。的问题!
printf("1!+2!+...+20!=%ld\\n",t);ld 是以双精度浮点型输出, 不知道你是否为你的笔误,输出的应该是 s 吧.用断点调试可以看到: 在进行第14次运算的时候,s的值已经为负,说明s的值已经超越了long的最大值,而你输出的是 t ,表面上看n=19时输出的是正值,好像是正确的,其实 t 的值在...
子车邱香菊: //经过调试的程序,可以运行出正确结果 #include "stdio.h" void main() {int i=1;int sum=0;int s=1;for(i=1;i<=20;i++){s=s*i;sum=sum+s;}printf("%d\n",sum); }
靖江市19182766960: 用C语言编写程序计算1+2+3+…+20,并输出结果. - ?
子车邱香菊: 1 2 3 4 5 6 7 8 9 10#include<stdio.h> intmain() {inti,n=0;for(i=1;i<=20;i++){n+=i;}printf("%d\n",n); }
靖江市19182766960: C语言编写程序求1!+2!+3!+...+n!,n为输入并且3〈=n〈=20. - ?
子车邱香菊: #includevoid main() { int i,a; float n=1,sum=0; while(1) { scanf("%d",&a); if(a<3||a>20) printf("repeat input"); else break; } for(i=1;i<=a;i++) { n=n*i; sum=sum+n; } printf("1!+2!...+%d!=%.0f",a,sum); }
靖江市19182766960: 求1+2+3+…+ n,用C语言求1+2+3+…+ n,mysum负责具体计算1+2+3+…+ n的值;主函数main()负责n值的输入,1+2+3+…+n的输出,mysum函数的调用. - ?
子车邱香菊:[答案] 2中方法实现 输入X: 100 5050 5050 请按任意键继续. . . #include "stdio.h" #include "stdlib.h" int mysum(int x) { return (1+x)*x/2; } int mysum2(int x) { int sum=0; for(int i=1;i<=x;i++) { sum=sum+i; } return sum; } main() { int x=0; printf("输入X:\n"); ...
靖江市19182766960: C语言编程:求1!+2!+3!+、、、+n!的值? - ?
子车邱香菊: #include<stdio.h> main() { int i,b,sum=1,g;/*定义各个需要的元素,sum初值化,就拿1-4的阶乘的和来试炼*/ for(i=2;i<5;i++) { g=i; /*切记要赋值一下,因为下面要改变*/ for(b=1;b<=i-1;b++) { g*=b; } sum+=g; } printf("总和是%d\n",sum); }
靖江市19182766960: 用c语言函数求1!+2!+3!+···+10!的和 - ?
子车邱香菊: #include<stdio.h> void main() { long s,a;int b;for(a=1,b=1,s=0;b<=10;b++){ a*=b; //a是每位数的阶乘s+=a; //阶乘的和}printf("s=%ld\n",s);}
靖江市19182766960: C语言编程:编写用于求1!+2!+3!+…+n!和的函数和主函数,并将结果返回给主函数输出. - ?
子车邱香菊: #include<stdio.h> void main() { int i; float k=1,sum=0; for(i=1;i<=20;i++) { k=k*i; sum=sum+k; } printf("\n%f",sum); }
靖江市19182766960: C语言编写一个程序求出1+2+3……1000 - ?
子车邱香菊: #include<stdio.h> int main() { int i, sum = 0; for(i = 1; i <= 1000; i++) { sum += i; } printf("结果为百:%d", sum); return 0; }书写的时候注意一些度规范,包括语知句的对齐,一些特定位置的空格使用道,初学编程,养成专良好的编属码习惯很重要
靖江市19182766960: 怎样编写一个c程序求1!+2!+3!+4!+...+20!. - ?
子车邱香菊: 怎样编写一个c程序求1!+2!+3!+4!+...+20!. 一个很简单的写法: main() { int i,s1=1,s=0; for(i=1,i<=20;i++) { s1*=i; s+=s1; } printf("%ld",s); }
靖江市19182766960: C语言编程问题:求 1!+2!+3!+...+n! - ?
子车邱香菊: int和long分配的内存空间长度不一样,表示的数值范围不一样.比如可能int有32位的空间,long有64位的空间.n=17超出了整数的表示范围. 这跟编译器的实现方式有关,还与机器的位数有关.比如一个机器用8位表示整型,表示的范围是-128...