用c语言实现阶乘( n! )

我们之前学习了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(单次表达式;条件表达式;末尾循环体) {中间循环体;}   我们按照这个样子就可以写了,如

 那么到这里,就结束了,感谢大家观看,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值