思路分析
因为1到50的阶乘和数值过大,用int数据类型定义会使数据溢出,故用double 数据类型来定义数值类型。
代码如下
#include <stdio.h>
void main(){
double i,t=1;//定义变量
double sum=0;//初始化和的值为0
for(i=1;i<=50;i++){
t*=i;//求1到50中每个数的阶乘
sum+=t;//阶乘的累加和
}//for循环求阶乘的和
printf("%.2lf",sum);//输出1到50阶乘的和,按保留2位小数点输出
}
代码运行结果如下