这个题,求阶乘和,循环遍历就可以了,不用双重个循环,每次计算阶乘和,然后累加就可以
主要注意数值的大小,用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分
13 人评分
Artoria 2020-04-08 10:42:05 |
貌似long double在64位机器上有些问题。。。我写的输出格式是%Lf。。不太懂为啥long double 用不了