c语言求阶乘的累加和递归

C语言求1+2!+3!+…+20!的和 。
分析
对于累加采用for循环,设置变量sum和循环变量进行累加 。
#include<stdio.h>int main(void){ int i; int sum; for(i=1;i<=10;i++){ sum = sum + i; } return 0;}而求阶乘只是把累加换成了累乘 。
代码实现
#include<stdio.h>int main(void){ int i; double sum,n; sum = 0; n = 1; for(i=1;i<=20;i++){ n = n * i; sum = sum + n; } printf("%lfn",sum); return 0;}程序分析
(1)n = n * i;根据循环,求出每个循环变量的累乘 。
(2)sum = sum + n;将每个循环变量的累乘进行累加求和 。
(1)当i=1,循环条件成立,执行n = n*i = 1*1;sum = sum + n = 0 + 1 = 1
(2)当i=2,循环条件成立 , 执行n = 1*i = 1*2;sum = sum + n = 1 + 2 = 3
运行结果

c语言求阶乘的累加和递归

文章插图
总结
【c语言求阶乘的累加和递归】(1)注意变量设置 , 累乘可能是一个较大的数,变量定义时使用double类型 。