这个题,求阶乘和,循环遍历就可以了,不用双重个循环,每次计算阶乘和,然后累加就可以
主要注意数值的大小,用int肯定放不下的,必须用double,并且中间的阶乘结果也要用double才能不会出现答案错误的问题。
PS:printf的科学计数法格式是%e
应该看一下就明白,答案如下:
#include<stdio.h> int main() { int i; double j=1,sum=0; for(i=1;i<=30;i++) { j = j*i; sum = sum+j; } printf("%.2e\n",sum); return 0; }
0.0分
75 人评分
#include<stdio.h> int f(int a) { if(a==1) return 1; else return a*f(a-1); } int main(){ double b=0,j=1; for(int i=1;i<=30;i++) { b+=f(i); } printf("%.2e\n",b); return 0; } 我这个怎么不对呀
int main() { int i,j; double an=1,sum=0; for(i=1;i<=30;i++) { for(j=1;j<=i;j++) { an*=j; } sum+=an; an=1; } printf("%0.2e\n",sum); return 0; }
妙啊,利用了(n + 1)!=(n + 1)*n!
Sakura陆 2023-12-18 15:39:48 |
#include<stdio.h> int main() { int i,n,j; double km=0; int sum=1; n=30; for(i=1;i<=n;i++){ sum=1; for(j=1;j<=i;j++){ sum=sum*j; } km=sum+km; } printf("%.2e",km); return 0; }这个怎么错了
#include <stdio.h> int main() { int i,a=1; double sum=0,b; for(i=1;i<=30;i++) { b=i; while(b>0) { a=a*b; b--; } sum=sum+a; a=1; } printf("%.2e\n",sum); return 0; } 为啥这个不对
#include<stdio.h> int main() { int i; double a=0,s=0; for(i=1;i<=30;i+=2) { a=a+i; s=s+a; } printf("%.2e",s); return 0; } //我这个问题在哪啊
T 2022-09-17 10:54:40 |
阶乘的话循环里面应该是(a=a*i; 或者 a*=i;)而不是(a=a+i;//这个是求和呀)
好奇怪啊,我用long long 写阶乘函数factorial命令,然后用long long int输出可以,但是为啥科学计数法就出错
母牛的故事 (C语言代码)浏览:771 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:745 |
C语言训练-亲密数 (C语言代码)浏览:691 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)from DQM浏览:764 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:740 |
矩形面积交 (C++代码)浏览:1198 |
DNA (C语言代码)浏览:793 |
sizeof的大作用 (C语言代码)浏览:1124 |
C语言程序设计教程(第三版)课后习题12.1 (C语言代码)浏览:682 |
敲七 (C语言代码)浏览:2740 |