这个题,求阶乘和,循环遍历就可以了,不用双重个循环,每次计算阶乘和,然后累加就可以
主要注意数值的大小,用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分
72 人评分
#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 用不了
printf基础练习2 (C语言代码)浏览:740 |
A+B for Input-Output Practice (III) (C语言代码)浏览:569 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:992 |
求组合数 (C语言代码)浏览:1152 |
WU-蓝桥杯算法提高VIP-勾股数 (C++代码)浏览:1592 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1135 |
用筛法求之N内的素数。 (C语言代码)浏览:646 |
哥德巴赫曾猜测 (C语言代码)浏览:2313 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:668 |
1054题解浏览:460 |