C语言程序编译从键盘输入一个非负数,求出它的阶乘
时间: 2024-11-25 17:18:01 浏览: 5
求10的阶乘的C语言代码
在C语言中,计算一个非负整数的阶乘通常通过递归函数实现。阶乘是一个数字乘以小于它的所有正整数的结果,0的阶乘定义为1。下面是一个简单的示例程序:
```c
#include <stdio.h>
// 阶乘函数,n! = n * (n-1)!
unsigned long long factorial(int n) {
if (n == 0 || n == 1) { // 递归的基本情况,0和1的阶乘都是1
return 1;
} else {
return n * factorial(n - 1); // 递归调用自身,计算(n-1)!
}
}
int main() {
int num;
printf("请输入一个非负整数:");
scanf("%d", &num);
// 检查输入是否是非负数
if (num < 0) {
printf("错误:输入的数字必须是非负数。\n");
} else {
unsigned long long fact = factorial(num);
printf("该数的阶乘是:%llu\n", fact);
}
return 0;
}
```
当你运行这个程序,它会提示用户输入一个非负整数,然后计算并打印它的阶乘。注意,由于阶乘增长非常快,对于较大的数值可能会超过`unsigned long long`类型的范围,如果需要处理更大的数,可以考虑使用`long long`或者其他支持更大数值的数据类型。
阅读全文