🎉博客主页:Luo-Kuang-何
🎉座右铭:一起走向人生巅峰的路上😁
🎉学习进度:【C语言】
🎉博客声明:我将尽我所能,用心写好每一份博客,让更多小伙伴能够与我交流学习心得。
如有不足,请指正。学习就是在不断犯错并改正的过程💪!
文章目录
前言:
1.阶乘实现
1.1理论步骤
1.2实践结果
while实现
do……while实现
for实现
2.连续阶乘相加实现
2.1理论步骤
2.2实践结果
总结:
结语:
前言:
💻在现实中,我们做数学题总会遇到阶乘问题,这在计算机中也不例外。 那我们应该怎么实现呢?
👨🏫我记得很多老师在电脑上书写阶乘都是用!这个符号表示。 比如5的阶乘,写为5!。 这在C语言中是行不通的,下面我讲解C语言中阶乘的实现。
1.阶乘实现
1.1理论步骤
我们可以利用while、do……while、以及for等循环实现,实现功能如下:
- 我们先设置好3个变量,i、n(想要的阶层数)、jieceng(阶层结果)
- 利用循环得到相应阶乘
1.2实践结果
这里用3种循环都展示一下
-
while实现
#include <stdio.h>
int main()
{int i = 1;int n = 0;int jieceng = 1;scanf("%d", &n); //输入想得到的阶层数while (i <= n){jieceng *= i;i++;}printf("%d的阶层是%d\n", n, jieceng);return 0;
}
-
do……while实现
#include <stdio.h>
int main()
{int i = 1;int n = 0;int jieceng = 1;scanf("%d", &n);do{jieceng *= i;i++;} while (i <= n);printf("%d的阶层是%d\n", n, jieceng);return 0;
}
-
for实现
#include <stdio.h>
int main()
{int i = 1;int n = 0;int jieceng = 1;scanf("%d", &n);for (i = 1; i <= n; i++){jieceng *= i;}printf("%d的阶层是%d\n", n, jieceng);return 0;
}
2.连续乘层相加实现
2.1理论步骤
- 首先明确要连续相加,必然需要2层循环嵌套
2.2实践结果
-
我这里用2层for循环实现
#include<stdio.h>
int main() //算1~n阶层相加
{int sum = 0;int jiecen = 0;int i = 0;int j = 0;int n = 0;scanf("%d", &n); //设置想要到达的n值for (j = 1; j <= n; j++){for (i = 1, jiecen =1; i <= j; i++) //重置jieceng,使每次从1开始{jiecen = jiecen * i; //里循环得每一相应阶层数}sum += jiecen; //阶层之和}printf("%d\n", sum);return 0;
}
-
一层for循环实现(简洁版)
#include <stdio.h>
int main() //算1~10阶层相加(j简短版)好**
{int sum = 0;int jiecen = 1;int i = 0;int n = 0;scanf("%d", &n);for (i = 1; i <= n; i++){jiecen = jiecen * i;sum += jiecen;}printf("%d\n", sum);return 0;
}
总结:
实现阶乘有很多方法,还需要我们去探索,以上是我的一些理解。