问题分析
若要求1!+2!+3!+...+20!的和,必须先明确使用什么方法。这个等式中设计阶乘的求值、值的累加两部分,因此,问题变得简单清晰,利用“累乘法”即可,具体请看代码部分注释。若仍有疑问的地方可以根据代码运行过程写出计算过程即可明确或调试查看过程或留言哦。
代码实现
//导入头文件
#include<stdio.h>
//主函数
int main(){
int i;//控制循环
float result=0,t=1;//定义两个变量,result存储求和结果,t存储对应阶乘值
//循环累乘再累加
for(i=1;i<=20;i++){ //(修改循环次数---可以实现更多数求值)
t=t*i;//求阶乘
result=result+t;//累积和
}
printf("1!+2!+3!+...+20! = %e",result);//输出结果,格式符 %e 表示以“指数”形式输出
return 0;
}
运行结果