C语言编程中 请问上s=1!+2!+3!+4!+5!``````100!S 的和值 请帮我分析!是什么意思???
作者&投稿:养群 (若有异议请与网页底部的电邮联系)
就是要你求从1的阶乘到100的阶乘连加和啊。
思路:定义一个函数,输入参数n,求n的阶乘,接着从1到10累加求和即可。
参考代码:
#include int fun(int n){int sum=1,i;for(i=1;i<=n;i++)sum*=i;return sum;}int main(){ int i,sum=0; for(i=1;i<=10;i++){ sum+=fun(i); } printf("累加为:%d
",sum); return 0; }/*运行结果:累加为:4037913*/
假如s=1!+2!+3! 就是s=1*1+1*1*2+1*1*2*3
这道题只不过是加到100的阶乘罢了。
首先,肯定有100项,即for(int i=1;i<=100;i++)
sum用来统计和,用long类型吧,因为他比较大,item用来统计每一项,将item初始值为1,即1*1 1*2 1*2*3 这种项。
通过规律发现,项满足item*=i; 第一项:1*1 第二项:1*2 第三项:1*2*3
那么和也就是sum+=item.
就这样分析,该题就很清楚了吧。
c语言逻辑性比较强,需要多联系,学会自己多分析,即使有答案也要搞懂答案是这么来的,最后能够学以致用。
让你编写c程序用递归法求出来s 的和,输出s为1到100的阶乘的和
求1到100阶乘的和。这个程序要考虑溢出,因为100的阶乘,值太大了,普通的方法实现不了。
mei
蛮贞美扶: 这道题的意思就是:求和.假如s=1!+2!+3! 就是s=1*1+1*1*2+1*1*2*3 这道题只不过是加到100的阶乘罢了.首先,肯定有100项,即for(int i=1;isum用来统计和,用long类型吧,因为他比较大,item用来统计每一项,将item初始值为1,即1*1 1*2 1*2*3 这种项.通过规律发现,项满足item*=i; 第一项:1*1 第二项:1*2 第三项:1*2*3 那么和也就是sum+=item.就这样分析,该题就很清楚了吧.c语言逻辑性比较强,需要多联系,学会自己多分析,即使有答案也要搞懂答案是这么来的,最后能够学以致用.
山丹县15278249712: c语言,用循环语句编写程序,计算S的值,S=1!+2!+3!+……10! - ?
蛮贞美扶: 展开全部/***************************** S=1!+2!+3!+……10!****************************/#include //int factorial(int n)//{// if(n==1)// return 1;// else// return n*factorial(n-1);//} int main(void) { int i,sum=10; for(i=9;i>=1;i--) { sum=sum*i+i; } printf("sum=%d\n",sum); return 0; }
山丹县15278249712: 用C语言中的循环结构,求s=1!+2!+.....+n!,要求键盘输入 - ?
蛮贞美扶: #include<stdio.h> void main() {int result;int sum;int n;sum=0;result=1;printf("Please input the N\n");scanf("%d",&n);for(int i=1;i<=n;i++){ for(int j=1;j<=i;j++){result=result*j;}sum=sum+result;}printf("%d\n",sum); } 这个算法简单,好理解.望采纳.
山丹县15278249712: 用C语言编程计算下列表达式:s=1!+2!+3!+4!+……+10!. - ?
蛮贞美扶: #include"stdio.h" void main() { long s=0,k=1,i,j; for( i=1;i<=10;i++)//计算加数个数 { for(j=1;j<=i;j++)//计算阶乘 { k*=j; } s+=k;//累加 k=1;//初始化 } printf("%ld\n",s); } 把二楼的做了一下修改,调试通过了,谢谢他的思路,不过我也很为难该不该给他这个源程序,或许他真的需要吧!我也想对提问者说一句,如果真的对编程感兴趣的,应该自己动手编写,遇到不会的地方,在提问啊,这样才能有所进步.
山丹县15278249712: 如何使用C语言编程计算S=1!+2!+……+n! - ?
蛮贞美扶: #include "stdio.h" main() { double s=0,p=1,i; int n; printf("输入N:"); scanf("%d",&n); for(i=1;i<=n;i++) { p*=i; s+=p; } printf("%lf\n",s); }
山丹县15278249712: 编写一个程序 计算s=1!+2!+...+n!.其中n由输入决定 - ?
蛮贞美扶: #includeint main() { int n; int i; int multivalue = 1; scanf("%d", &n); if(n
山丹县15278249712: 用C语言编写程序计算S的值,其中s=1+2+3+......+100 - ?
蛮贞美扶: #include <stdio.h> int main() {int i,s=0;for(i=1;i<=100;++i)s += i;printf("s=%d", s);return 0; }
山丹县15278249712: 编程求和s=1!+2!+3!+4!+5! - ?
蛮贞美扶: #include "stdafx.h"#include using namespace std; int main() { int n,j=1,sum=0; cout cin>>n; for(int i=1;i for(int k=1;k { j=j*k; } sum=sum+j; j=1; cout } cout return 0; }
山丹县15278249712: C语言 编程题, 编一程序:求s=1+2+3+4+..........+100的和. - ?
蛮贞美扶: 1 2 3 4 5 6 7 8#include "stdio.h" voidmain() {inti,sum=0;for(i=1;i<101;i++)sum+=i;printf("1+2+3+4+..........+100=%d\n",sum); }
山丹县15278249712: 用C语言编程:求S=1+(1+2)+…+(1+2+3+4+5+6)=? - ?
蛮贞美扶: 亲自编写与调试#include "stdio.h" main() { int s=0,i,j; for(i=1;i<=6;i++) for(j=1;j<=i;j++) s=s+j; printf("S=1+(1+2)+…+(1+2+3+4+5+6)=%d",s); }