酷代码 AI
菜单
服务商

c++第一波雷电可能包含5种不同的雷电形态,编号为1~5,现在已知第一波雷电一共要打10个雷,桃子想要知道每种形态的雷电分别有几个,请你设计程序帮桃子解决这个问题吧。 输入: 输入包括一行。 第一行包含十个整数,每个整数代表这个数表示的雷电形态编号,保证每个编号都小于等于5。 输出: 输出包括一行,包含5个整数,分别为编号1~5的雷电的数量,每个整数之间用空格隔开

以下是解决该问题的 C++ 代码: ```cpp #include <iostream> using namespace std; int main() { // 用于存储每种雷电形态的数量,初始化为 0 int count[6] = {0}; // 读取 10 个雷电形态编号 for (int i = 0; i < 10; i++) { int num; cin >> num; // 对应编号的雷电数量加 1 count[num]++; } // 输出每种雷电形态的数量 for (int i = 1; i <= 5; i++) { cout << count[i]; if (i < 5) { cout << " "; } } cout << endl; return 0; } ``` 代码解释: 1. 定义数组:定义一个长度为 6 的整型数组 `count`,用于存储每种雷电形态的数量。数组的下标对应雷电形态的编号,`count[1]` 存储编号为 1 的雷电数量,以此类推。 2. 读取输入:使用 `for` 循环读取 10 个雷电形态编号,每次读取一个编号后,将对应编号的数组元素加 1。 3. 输出结果:使用 `for` 循环遍历数组,输出每种雷电形态的数量。除了最后一个数,每个数后面都输出一个空格。 复杂度分析: - 时间复杂度:$O(n)$,其中 $n$ 是输入的雷电数量,这里 $n = 10$。 - 空间复杂度:$O(1)$,只使用了常数级的额外空间。 [2025-12-26 19:17:35 | AI问答 | 395点数解答]

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