酷代码 AI
菜单

输入一个正整数n的值(n不超过20),编程输出n!(n的阶乘)。因为阶乘数据较大,程序中的整数请定义成long long型。

以下是使用C++语言实现输入一个不超过20的正整数`n`,并输出`n!`的代码: ```cpp #include <iostream> using namespace std; int main() { int n; // 提示用户输入一个正整数n cout << "请输入一个不超过20的正整数n: "; cin >> n; // 检查输入的n是否在有效范围内 if (n < 1 || n > 20) { cout << "输入的n不在有效范围内,请输入1到20之间的整数。" << endl; return 1; } long long factorial = 1; // 计算n的阶乘 for (int i = 1; i <= n; i++) { factorial *= i; } // 输出n的阶乘 cout << n << "的阶乘是: " << factorial << endl; return 0; } ``` 以下是使用Python语言实现的代码: ```python # 提示用户输入一个正整数n n = int(input("请输入一个不超过20的正整数n: ")) # 检查输入的n是否在有效范围内 if n < 1 or n > 20: print("输入的n不在有效范围内,请输入1到20之间的整数。") else: factorial = 1 # 计算n的阶乘 for i in range(1, n + 1): factorial *= i # 输出n的阶乘 print(f"{n}的阶乘是: {factorial}") ``` 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 要确保输入的`n`在有效范围内,避免因输入过大导致数据溢出。 2. 在使用`long long`类型时,不同的编译器可能对其范围有细微差异,要做好边界测试。 3. 对于用户输入的处理,要考虑到输入非整数的情况,避免程序崩溃。 [2025-11-21 00:53:37 | AI写代码神器 | 483点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多