用while语句实现。输入n的数值,输出n!的值 用c语音
时间: 2024-12-22 09:16:13 浏览: 0
c语音程序设计(第四版)
在C语言中,你可以使用while循环结合递归来计算阶乘。下面是一个简单的示例程序,它会提示用户输入一个整数n,并输出它的阶乘:
```c
#include <stdio.h>
long long factorial(int n) {
if (n == 0 || n == 1) { // 阶乘的基础情况,0和1的阶乘都是1
return 1;
} else {
long long result = n; // 初始化结果为当前的n
int i;
while (i > 1) {
result *= i--;
}
return result;
}
}
int main() {
int n;
printf("请输入一个非负整数: ");
scanf("%d", &n);
if (n < 0) {
printf("抱歉,阶乘只对非负整数定义。\n");
} else {
long long fact = factorial(n);
printf("%d 的阶乘是: %lld\n", n, fact);
}
return 0;
}
```
在这个程序中,`factorial`函数通过一个while循环不断将结果乘以从n到1的所有整数,实现了阶乘的计算。然后在主函数`main`中获取用户的输入并调用这个函数。
阅读全文