题目:计算阶乘
描述:
编写一个C++程序,通过递归函数来计算一个非负整数的阶乘。阶乘表示为n!,是所有小于等于n的正整数的乘积,且定义0! = 1。
要求:
- 提示用户输入一个非负整数。
- 检查输入是否为非负整数,如果是负数,提示用户“负数没有阶乘,请输入一个非负整数。”并终止程序。
- 定义0! = 1。
- 使用递归函数计算输入整数的阶乘。
- 输出计算结果,格式为“
number! = result”,其中number是输入的非负整数,result是该整数的阶乘。
流程图:

源代码:
#include <iostream>
using namespace std;
// 计算阶乘的递归函数
long long factorial(int n) {
if (n == 0) {
return 1;
}
return n * factorial(n - 1);
}
int main() {
int number;
cout << "请输入一个非负整数: ";
cin >> number;
// 检查输入是否为非负整数
if (number < 0) {
cout << "负数没有阶乘,请输入一个非负整数。" << endl;
return 1;
}
long long result = factorial(number);
cout << number << "! = " << result << endl;
return 0;
}
运行截图:

229

被折叠的 条评论
为什么被折叠?



