C语言100题练习计划——求1到n的阶乘之和(1<=n<=10)。
不要失去信心,只要坚持不懈,就终会有成果的。——钱学森
🐼本篇内容简介:一、问题呈现-->二、源码实现-->三、输出结果展示-->四、流程分析
🥇C语言100题练习专栏计划:目的:巩固练习C语言,增强上机、动手实践能力,交流学习!题量随时间的增加会有所增加。
C Programming Language
一、问题呈现
Problem Description
求1到n的阶乘之和(1<=n<=10)
Input
输入整数n
Output
1到n的阶乘之和
Sample Input
5
Sample Output
153
1!=1,2!=2,3!=6,4!=24,5!=120 ------->1到5的阶乘之和就为1+2+3+6+24+120=153。
二、源码实现
#include<stdio.h> int fact(int n){ int result=1; for(int i=1;i<=n;i++){ //求n的阶乘值 result*=i; } return result; } int main(){ int sum=0; int number=0; printf("请输入n的值:"); scanf("%d",&number); for(int i=1;i<=number;i++){ //求和 sum+=fact(i); } printf("阶乘之和sum:%d\n",sum); return 0; }
三、输出结果展示
1.输出结果:
请输入n的值:5 阶乘之和sum:153 -------------------------------- Process exited after 1.257 seconds with return value 0 请按任意键继续. . .
2.输出结果(图示版):
四、流程分析
1.读题
求1到n的阶乘之和(1<=n<=10) ,关键点:①阶乘 ②之和
2.构思
根据第一个关键点阶乘,我们要知道阶乘是什么? 阶乘(factorial)是所有小于及等于该数的正整数的积。1!=1,2!=2 * 1,3!=3 * 2 * 1,n!=n *(n-1)! 然后再根据之和,说明不止一个数,求和,我们可以使用for循环,那求阶乘之和我们就需要两个for循环了,一个实现求阶乘,一个实现求和。
3.代码
把你所思所想,以代码的形式,写出来。
ps:这道题的方法,本文虽然只写出这一种,但是思路方法其实不止这一种,其它的方法可自行尝试一下。
作者:Code_流苏(一个喜欢古诗词和编程的Coder😊)
★喜欢的话,还请多多点赞与关注! 🐼感谢支持! 🧡
C语言百题练习专栏计划持续进行,欢迎评论交流学习!