有两个源文件 main.c和 factorial.c 两个源文件,用递归算法编写一个计算阶乘的程序。
时间: 2024-12-15 07:25:30 浏览: 5
在C语言中,你可以将计算阶乘的递归算法分别放在`factorial.c`源文件中,然后在`main.c`中调用这个函数。以下是两个文件的基本结构:
**factorial.c**
```c
// 阶乘函数的声明,为了在main.c中可以引用它
#include <stdio.h>
unsigned long long factorial(int n);
// 实现递归计算阶乘的函数
unsigned long long factorial(int n) {
if (n == 0 || n == 1) { // 递归基础情况,0和1的阶乘都是1
return 1;
} else {
return n * factorial(n - 1); // 递归调用自身,n! = n * (n-1)!
}
}
```
**main.c**
```c
#include "factorial.h" // 包含factorial.c中的函数声明
int main() {
int num;
printf("请输入一个非负整数:");
scanf("%d", &num);
unsigned long long result = factorial(num);
printf("The factorial of %d is %llu\n", num, result);
return 0;
}
```
在这个例子中,`factorial.c`包含了`factorial`函数的具体实现,而`main.c`负责用户输入、调用函数并显示结果。通过包含头文件`factorial.h`(假设其内容为`#ifndef _FACTORIAL_H_ ... #endif`),`main.c`能够访问`factorial`函数。
阅读全文