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
运行结果
总结
(1)注意变量设置,累乘可能是一个较大的数,变量定义时使用double类型。
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com