酷代码 AI
菜单
服务商

输出: 三个整数,分别表示数字n中0的个数,1的个数,2的个数,每个数字之间用空格隔开。C++ 输入样例: 1: 20200115 输出样例: 1: 3 2 2 输入样例: 2: 902 输出样例: 2: 1 0 1 时间/内存: 1000MS/100MB

```cpp #include <iostream> #include <string> int main() { std::string n; int zeroCount = 0, oneCount = 0, twoCount = 0; // 读取输入的数字 std::cin >> n; // 遍历数字的每一位 for (char digit : n) { if (digit == '0') { zeroCount++; } else if (digit == '1') { oneCount++; } else if (digit == '2') { twoCount++; } } // 输出结果 std::cout << zeroCount << " " << oneCount << " " << twoCount << std::endl; return 0; } ``` 代码解释: 1. 头文件:包含了 `<iostream>` 用于输入输出操作,`<string>` 用于处理字符串。 2. 主函数: - 定义了一个字符串 `n` 用于存储输入的数字,以及三个整型变量 `zeroCount`、`oneCount` 和 `twoCount` 分别用于统计 0、1 和 2 的个数。 - 使用 `std::cin` 读取输入的数字并存储到 `n` 中。 - 通过 `for` 循环遍历字符串 `n` 的每一位,使用 `if-else` 语句判断当前位是否为 0、1 或 2,并相应地增加计数器的值。 - 最后使用 `std::cout` 输出统计结果,每个数字之间用空格隔开。 复杂度分析: - 时间复杂度:$O(k)$,其中 $k$ 是输入数字的位数。 - 空间复杂度:$O(k)$,主要用于存储输入的数字。 [2026-02-07 20:51:44 | AI问答 | 408点数解答]

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