这个题,求阶乘和,循环遍历就可以了,不用双重个循环,每次计算阶乘和,然后累加就可以
主要注意数值的大小,用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分
76 人评分
#include<stdio.h> int main(){ double sum=0.0; // 2 = 1*2 3 = 1*2*3 = 6 for(int i=1;i<=30;i++){ double m=1; for(double j=1.0;j<=i;j++){ m = m*j; } sum+=m; } printf("%.2e",sum); }
#include <stdio.h> int main() { double sum0=0; int i; int a=1; for(i=1;i<=30;i++){ a=a*i; sum0+=a; } printf("%.2e",sum0); return 0; } 感覺差不多鴨:(
为什么用long double会错误,改成double。long double不是比double范围大很多吗。
Artoria 2020-04-08 10:42:05 |
貌似long double在64位机器上有些问题。。。我写的输出格式是%Lf。。不太懂为啥long double 用不了
矩阵乘法 (C++代码)浏览:1662 |
简单的for循环浏览:1497 |
蚂蚁感冒 (C语言代码)浏览:816 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:523 |
钟神赛车 (C语言代码)浏览:665 |
字符逆序 (C语言代码)求大神指出错处,运行结果尝试了也与要求一样,但就是说结果错误,不知错在哪里浏览:446 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)(简单版)浏览:588 |
顺子浏览:1369 |
A+B for Input-Output Practice (I) (C语言代码)浏览:621 |
弟弟的作业 (C语言代码)(18行代码解决 有兴趣的看看)浏览:1194 |