原题链接:[编程入门]阶乘求和
解题思路:
1. 首先,在程序开头包含了
2. 在主函数main()中,定义了变量n、i、j,分别用来保存输入的整数、循环计数的变量。
3. 定义了变量ret和sum,分别用来保存每个阶乘结果和阶乘求和的结果。
4. 使用scanf()函数从标准输入中读取一个长整型数,保存到变量n中。
5. 开始一个外层循环,循环次数从1到n,用变量j进行迭代。
6. 在每次外层循环中,开始一个内层循环,循环次数从1到j,用变量i进行迭代。
7. 在内层循环中,计算和累积阶乘的结果。将i乘以ret,并将结果保存到ret中。
8. 内层循环结束后,将当前阶乘的结果ret加到总和sum中。
9. 重置ret为1,为下一次阶乘做准备。
10. 外层循环结束后,用printf()函数输出阶乘的和sum。
11. 返回0,表示程序执行完毕。
总结起来,这段代码通过嵌套循环计算了从1到n的每个数的阶乘,并将阶乘结果累加得到最终的和。
注意事项:
!
需要使用long long类型,否则超过数的范围!!!
!
参考代码:
#include <stdio.h> int main() { long long n; int i,j; long long ret=1; long long sum=0; scanf("%lld",&n); for(j=1;j<=n;j++) { for(i=1;i<=j;i++) { ret=ret*i; } sum=sum+ret; ret=1; } printf("%lld",sum); return 0; }
0.0分
2 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复