C++ 实现:找出 n 个字符中数字字符并输出其乘积对应字符
以下是一个使用 C++ 编写的程序,用于找出输入的 `n` 个字符中的数字字符,将这些数字相乘,最后输出数字之积对应的字符。 ```cpp #include <iostream> #include <string> int main() { int n; std::cout << "请输入字符的数量: "; std::cin >> n; std::cin.ignore(); // 忽略输入缓冲区中的换行符 std::string input; std::cout << "请输入 " << n << " 个字符: "; std::getline(std::cin, input); // 确保输入的字符数量符合要求 if (input.length() != n) { std::cout << "输入的字符数量不符合要求。" << std::endl; return 1; } int product = 1; bool hasDigit = false; // 遍历输入的字符 for (char c : input) { if (std::isdigit(c)) { hasDigit = true; product *= (c - '0'); // 将字符转换为数字并相乘 } } // 如果没有数字字符,输出提示信息 if (!hasDigit) { std::cout << "输入中没有数字字符。" << std::endl; } else { // 输出数字之积对应的字符 std::cout << "数字之积对应的字符是: " << static_cast<char>(product) << std::endl; } return 0; } ``` 代码说明: 1. 输入字符数量:程序首先要求用户输入字符的数量 `n`。 2. 输入字符:接着,程序要求用户输入 `n` 个字符。 3. 检查输入长度:程序会检查用户输入的字符数量是否与之前输入的 `n` 一致,如果不一致,会输出错误信息并终止程序。 4. 遍历字符:程序会遍历输入的字符,使用 `std::isdigit` 函数检查每个字符是否为数字字符。如果是数字字符,将其转换为数字并累乘到 `product` 中。 5. 输出结果:如果输入中没有数字字符,程序会输出提示信息;否则,程序会输出数字之积对应的字符。 复杂度分析: - 时间复杂度:$O(n)$,其中 $n$ 是输入字符的数量。 - 空间复杂度:$O(1)$,只使用了常数级的额外空间。 ######[AI问答 | 578点数解答 | 2025-09-27 17:44:58]
- C++实现读取数字并输出最小值的代码及解释(字节豆包 | 113点数解答 | 2026-03-20 19:32:56)17
- C++ 实现:精准统计给定范围 [L, R] 内数字 2 出现的次数及代码详解(字节豆包 | 401点数解答 | 2026-02-05 21:17:05)46
- C++实现:统计[L, R]范围内数字2出现的次数及代码详解(字节豆包 | 489点数解答 | 2026-02-07 17:12:26)57
- Python破解NOIP2015基础扫雷游戏:计算非地雷格周围地雷数(字节豆包 | 545点数解答 | 2026-02-02 17:34:02)55
- Python实现多功能文字处理软件:含代码、解释与注意事项(DeepSeek | 449点数解答 | 2025-12-18 18:01:25)55
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)352
- Python 实现:根据入职年限和销售业绩精准计算职工奖金并列表输出(字节豆包 | 215点数解答 | 2024-11-07 01:01:17)108
- C++实现n×n图案输出:中间行'#'其余'*',开发需注意三点!(字节豆包 | 265点数解答 | 2026-01-16 19:06:25)53
- C++实现输出指定奇数阶中间行带#的矩形图案(字节豆包 | 267点数解答 | 2026-02-14 19:34:03)30
- C++实现输出指定奇数阶中间为#其余为*的方阵(字节豆包 | 385点数解答 | 2026-02-25 16:20:13)25
- C++实现奇数阶矩阵中间行特殊字符输出(DeepSeek | 261点数解答 | 2026-02-28 10:55:53)25
- C++实现特定图案输出的代码示例与开发建议(字节豆包 | 604点数解答 | 2026-03-07 19:39:05)17