c语言while实现阶乘运算
时间: 2024-10-06 10:01:15 浏览: 33
简单的C语言 阶乘的实现
在C语言中,你可以使用while循环结合递归的方式实现阶乘的计算。这里是一个简单的例子:
```c
#include <stdio.h>
unsigned long long factorial(int n) {
unsigned long long fact = 1;
while(n > 0) {
fact *= n;
n--;
}
return fact;
}
int main() {
int num;
printf("请输入一个非负整数:");
scanf("%d", &num);
if(num < 0) {
printf("抱歉,阶乘只对正整数有意义。\n");
} else {
unsigned long long result = factorial(num);
printf("该数字的阶乘是:%llu\n", result);
}
return 0;
}
```
在这个程序中,`factorial`函数通过while循环不断将当前的n值乘到事实数fact上,然后n自减,直到n变为0,此时的fact就是输入数值的阶乘。注意,由于阶乘的结果会随着n的增长非常快,如果n过大,可能会导致溢出,所以这里我们使用了`unsigned long long`这种大整型来存储结果。
阅读全文