如何用C语言编写一个函数来计算阶乘(n!)?
时间: 2024-11-06 21:19:32 浏览: 3
c代码-编写一个求阶乘的函数Fact(),然后在主函数中,计算并输出1到n之间所有数的阶乘值
在C语言中,你可以使用递归的方式来编写一个函数来计算阶乘。递归是一种解决问题的方法,它通过将大问题分解成规模更小的相同问题来求解。以下是一个简单的示例:
```c
#include <stdio.h>
// 定义阶乘函数
long long factorial(int n) {
// 基线条件:0! 和 1! 的值都是1
if (n == 0 || n == 1)
return 1;
// 递归条件:n! = n * (n-1)!
else
return n * factorial(n - 1);
}
int main() {
int num;
printf("请输入一个非负整数:");
scanf("%d", &num);
// 检查输入是否有效
if (num < 0) {
printf("抱歉,阶乘只对非负整数有意义。\n");
} else {
long long result = factorial(num);
printf("结果是:%lld\n", result);
}
return 0;
}
```
阅读全文