sum存结果,fact存临时的阶乘值
i是循环变量,每次加二刚好对应一项
如何用C语言求1!+3!+5!+……+n!的值
include<stdio.h>int main(){ int n,i,sum=0,fact=1; scanf("%d",&n); for(i=1;i<=n;i+=2) { sum+=fact; fact*=i*(i+1); } printf("%d",sum);}sum存结果,fact存临时的阶乘值 i是循环变量,每次加二刚好对应一项 ...
C语言编程 求1!+3!+5!+……+N!的值,且N为奇数
int main(){ int n,i; long a,sum = 1; printf("请输入一个奇数:\\n"); scanf("%ld",&n); for(i = 3,a = 1;i <= n;i += 2) { a *= i * (i - 1); sum += a; } printf("%ld\\n",sum); return 0;}本程序已经在VC上运行通过,在N不是很大的情况下可以,太大了就属于大数...
请教C语言的算法 1!+3!+5!+...+n!
{ long int sum=0;if(n < 1) sum = 0;else sum = sum * calculate_n(n-1);return sum;} void main(){ int i, n;long int sum = 0;scanf("%d",&n);for(i=1; i<= n; i += 2)sum += calculate_n(i);printf("1!+3!+5!+…+(2k-1)!= %ld",sum);} 上面...
c语言中想算1!+3!+5!+。。。n!
对于每个i,sum要及时重新赋值1,否则会一直连乘下去。include<stdio.h>int main(){int s=0,n,i,k,sum;\/\/sum此时不需要赋值printf("请输入一个奇数:");scanf("%d",&n);for(i=1;i<=n;i=i+2){sum=1;\/\/对于每个i,要对sum赋初始值1,这样才能对每个i,求其阶乘for(k=1;k<=i;...
用C语言 求1!+3!+5!+7!+...+n!
你的算法即使正确 效率也不高啊。事实上只要求最后一个n!就可以,只要一次循环。你的问题在temp的值在内面一重循环完成后应当重新赋为1,不然就会逐渐变很大。 代码如下:include<stdio.h> int main(){ int temp=1; \/\/存之前已经计算的i!int i=0,n=0, sn = 1;scanf("%d",&n);for(i...
C语言,求1+3+5+...+n的编程?
include <stdio.h> int main(){ int sum,n,i;scanf("%d",&n);for(sum=0,i=1;i<=n;i+=2)sum+=i;printf("%d\\n",sum);return 0;}
用C语言设计一个程序,求1!+2!+3!+4!+5!+…+n!
int 0<n<13)...\\nn="); if(scanf("%d",&n),n<0 || n>12){ printf("Input error, the program exits...\\n"); exit(0); } for(sum=0,t=i=1;i<=n;sum+=t*=i++); printf("The result is %d\\n",sum); return 0;} ...
c语言,求1!+2!+3!+4!+5!+...+n!
你用sum变量保存累加和,这是正确的,但每项的阶乘值没有变量来保存是个问题,要知道阶乘也是一个累乘的结果,而i*i并不是n的阶乘而是n的平方。当前项等于前边相乘以当前的i值,这个累乘变量的起始值为1。建议:int i,n;double sum,m;...sum=0; m=1; \/\/变量m计算当前项即阶乘值 for ( ...
...键盘输入正整数n(0<n<10)的值,求s=1!+3!+5!+…+n!的值并输出...
include <stdio.h>int main(){int a,b,c=1,total=0;int n;scanf("%d",&n);for(a=1;a<n;a+=2) { for(b=1;b
C语言:输入n,求1!+2!+3!+4!+5!+...+n!
\/\/问题main里面sum初始值错误,应改为sum = 0;include<stdio.h> int fun(int n){ int i,sum=1;for(i=1;i<=n;i++)sum*=i;return sum;} main(){ int i,sum=1;\/\/这里sum初始化应为0,这和上面函数乘是不一样,你可能没注意 int n;scanf("%d",&n);for(i=1;i<=n;i++){...