酷代码 AI
菜单

K博士有编号1~10的10种不同的化学试剂共n瓶。可是现在这n瓶试剂的摆放顺序被人打乱了,所以k博士无法得知每种试剂各有多少瓶。请你设计一个程序,输入每瓶试剂的编号,统计每种试剂的数量并输出吧。 输入: 输入包括两行,第一行包括一个整数n,n不超过1000。第二行有n个整数,分别为每瓶试剂的编号,编号之间用空格隔开。 输出: 输出包括一行,包含10个整数,分别表示每种试剂的数量,中间用空格隔开c++

```cpp #include <iostream> using namespace std; int main() { int n; // 定义一个长度为11的数组来存储每种试剂的数量,索引0不使用 int reagentCount[11] = {0}; // 输入试剂的总瓶数 cin >> n; for (int i = 0; i < n; i++) { int num; // 输入每瓶试剂的编号 cin >> num; // 对应编号的试剂数量加1 reagentCount[num]++; } // 输出每种试剂的数量 for (int i = 1; i <= 10; i++) { cout << reagentCount[i]; if (i < 10) { cout << " "; } } cout << endl; return 0; } ``` 代码解释: 1. 变量和数组定义: - `n` 用于存储试剂的总瓶数。 - `reagentCount` 数组用于存储每种试剂的数量,数组长度为11,索引0不使用,索引1 - 10分别对应编号为1 - 10的试剂。 2. 输入处理: - 首先读取试剂的总瓶数 `n`。 - 然后通过循环 `n` 次,每次读取一个试剂编号,将对应编号的试剂数量加1。 3. 输出处理: - 遍历 `reagentCount` 数组,输出每种试剂的数量,中间用空格隔开。 复杂度分析: - 时间复杂度:$O(n)$,其中 $n$ 是试剂的总瓶数。 - 空间复杂度:$O(1)$,因为数组长度是固定的11。 [2026-01-24 17:30:30 | AI问答 | 422点数解答]

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