在主函数中调用一个子函数来求n的阶乘
时间: 2024-12-06 17:23:30 浏览: 10
3.7 函数的递归调用(ppt).pdf
在C++等语言中,你可以通过在主函数`main()`中直接调用子函数来计算一个整数`n`的阶乘。首先,你需要定义一个递归或循环的函数来计算阶乘。这里是一个简单的示例:
```cpp
#include <iostream>
// 定义计算阶乘的子函数
unsigned long long factorial(int n) {
if (n == 0 || n == 1) { // 阶乘的基本情况:0! = 1 和 1! = 1
return 1;
} else {
return n * factorial(n - 1); // 递归调用
}
}
int main() {
int num;
std::cout << "请输入一个非负整数: ";
std::cin >> num;
try {
unsigned long long result = factorial(num);
std::cout << "该数的阶乘是: " << result << std::endl;
} catch (std::overflow_error& e) {
std::cerr << "计算结果溢出!" << std::endl;
}
return 0;
}
```
在这个例子中,用户输入一个整数`num`,然后主函数调用`factorial()`函数来计算它的阶乘。注意,对于较大的数值,阶乘可能会导致整数溢出,所以这个例子中用到了异常处理。
阅读全文