我们之前学习了for循环和while循环,为了加强巩固,今天简单运用一下循环来实现阶乘运算,比如我要算n的阶乘,我们先定义一个变量n,初始值为0,然后再引用scanf函数来自定义n的值,像这样
用while循环实现阶乘
int n=0;
printf("请输入数字:");
scanf("%d",&n);
然后,因为要记录循环了多少次,所以再定义一个变量num,初始值是1,因为从1开始记,但是要小于等于n,所以循环条件是 num<=n,然后再次定义一个变量fact,它记录的是阶乘本身的值,记住这个公式fact=fact*num(后面有原理解释),然后每次循环让num+1,也就是num++,那么我们可以这样写
int fact=1;
int num=1;
while(num<=n){
fact=fact*i;
num++;
}
最后我们输出一下
printf("%d!=%d",n,fact);
完整版如下
#include <stdio.h>
int main() {
int n=0;
printf("请输入数字:");
scanf("%d",&n);
int fact=1;
int num=1;
while(num<=n){
fact=fact*num;
num++;
}
printf("%d!=%d",n,fact);
return 0;
}
这样就好了,关于代码的解释如下,
当num=5时,条件不满足,所以退出循环,所以4!=24是最终结果。
用for循环实现阶乘
除了使用while循环,也可以利用for循环,其实主体都一样,只是表达式摆放位置不同,它的结构是这样的 for(单次表达式;条件表达式;末尾循环体) {中间循环体;} 我们按照这个样子就可以写了,如
那么到这里,就结束了,感谢大家观看,谢谢!