实例要求:编写代码实现 求输入一个整数的阶乘如下图所示:
实现步骤:
1.首先要理清阶乘的要求,求一个数n的阶乘,本质就是用n*(n-1)*(n-2)....*2*1,而1和0的阶乘为1的情况要用判断语句区分并单独列出
2.定义数据类型时,n为所求的整数,fac为阶乘结果,i为循环判断数。从2开始,阶乘就开始累乘,从此开始开始进行循环判断
3.主要代码如下
#include<stdio.h>
int main(){
int n;//需输入的整数
int i=2;
int fac=1;
printf("Please input your number: \n");
scanf("%d",&n);
//阶乘判断
if(n==1||n==0){
printf("The factorial is 1.\n");
return 0;
}
//其他阶乘判断
while(i<=n){
fac = fac * i;
i++;
}
printf("The factorial of %d is %d.\n",n,fac);
}
注意:
可以将输出的结果fac定义成单精度或者双精度,阶乘数过大时容易造成溢出现象。
B站视频链接:C语言实例 001 求阶乘_哔哩哔哩_bilibili