C语言:从键盘输入一个数n,求n的阶乘(n!)

时间:2022-12-13 14:13:28

使用while循环控制语句求n!;

#include<stdio.h>
#include<stdlib.h>

int main()
{
int i = 2, n;
float fac = 1;
printf("请输入一个大于0的整数:>");
scanf("%d", &n);
if (n == 0 || n == 1) //判断输入的整数为1或0直接输出改阶乘为1;
{
printf("%d 的阶乘是 1.\n", n);
}
else
{
while (i <= n)
{
fac = fac * i;
i++;
}
printf("%d 的阶乘是:%2f.\n", n, fac);
}
system("pause");
return 0;
}
首先考虑n为1或者0的时候,直接输出它们的阶乘为1;

fac=fac*i的作用相当于 当i为2时候求2!   

   当i为3时候求3!

   当i为n时候求n!

最后打印出来即可。

相关文章