C语言如何计算一个数的递归数
时间: 2024-10-27 07:06:48 浏览: 22
纯C语言:递归组合数源码分享
5星 · 资源好评率100%
在C语言中,递归是一种函数调用自己的技术,通常用于解决可以分解成相同问题更小实例的问题。计算一个整数n的递归方法通常是计算阶乘。例如,0的阶乘定义为1,非零自然数n的阶乘(n!)等于n乘以前面所有正整数的阶乘。以下是计算阶乘的递归函数示例:
```c
#include <stdio.h>
// 定义递归函数计算阶乘
int factorial(int n) {
// 基线条件:当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) {
int result = factorial(num);
printf("数字 %d 的阶乘是: %d\n", num, result);
} else {
printf("输入错误,只接受非负整数。\n");
}
return 0;
}
```
阅读全文