c++使用递归和头文件fact.h计算阶乘
时间: 2024-09-19 17:02:51 浏览: 80
在 C++ 中,使用递归和头文件(如 fact.h)来计算阶乘是一种常见的编程练习。递归是一个函数调用自身的方式,非常适合解决可以分解成相似子问题的问题,比如阶乘问题,n! = n * (n-1)!。
首先,在 `fact.h` 文件中,我们可以定义一个包含阶乘函数声明的简单头文件:
```cpp
// fact.h
#ifndef FACT_H
#define FACT_H
#include <iostream>
// 阶乘函数的声明
unsigned long long factorial(int n);
#endif // FACT_H
```
然后在某个 `.cpp` 文件(例如 `main.cpp`)中,我们编写具体的实现并引入 `fact.h`:
```cpp
#include "fact.h"
// 使用递归实现阶乘
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) 的阶乘
}
}
int main() {
int num;
std::cout << "请输入一个整数: ";
std::cin >> num;
unsigned long long result = factorial(num);
std::cout << "The factorial of " << num << " is: " << result << std::endl;
return 0;
}
```
在这个例子中,当你运行 `main` 函数时,它会提示用户输入一个整数,并利用 `factorial` 函数计算其阶乘。
阅读全文
相关推荐


















