```c
include
// 定义一个函数来计算阶乘
unsigned long long factorial(int n) {
if (n == 0 || n == 1) {
return 1;
}
unsigned long long result = 1;
for (int i = 2; i <= n; i++) {
result = i;
}
return result;
}
int main() {
int number;
printf("请输入一个非负整数: ");
scanf("%d", &number);
// 检查输入是否为非负整数
if (number < 0) {
printf("输入错误!请输入一个非负整数。\n");
} else {
unsigned long long fact = factorial(number);
printf("%d 的阶乘是 %llu\n", number, fact);
}
return 0;
}
```
解释:
1. 函数定义:我们定义了一个名为 `factorial` 的函数,它接受一个整数参数 `n` 并返回其阶乘值。
2. 递归基础:如果 `n` 是 0 或 1,函数直接返回 1,因为 0! 和 1! 都等于 1。
3. 循环计算:对于其他情况,使用一个循环从 2 到 `n` 逐步计算阶乘。
4. 主函数:在 `main` 函数中,程序首先提示用户输入一个非负整数,然后调用 `factorial` 函数并输出结果。
这个程序简单易懂,适合初学者学习和理解如何在C语言中处理基本的数学运算。希望这段代码对你有所帮助!