输入一组数字,统计该数出现的次数 程序怎么写
时间: 2024-10-12 12:06:39 浏览: 1
要编写一个简单的程序来统计输入的一组数字中各个数出现的次数,你可以使用一个哈希表(如Python中的字典、C++中的std::map,或C#中的Dictionary等)来存储每个数字及其对应的计数值。这里以Python为例,给出一个简短的程序:
```python
def count_numbers(numbers):
counts = {} # 创建一个空字典作为计数器
for num in numbers: # 遍历输入的数字列表
if num in counts:
counts[num] += 1 # 如果数字已存在于字典中,则加一
else:
counts[num] = 1 # 否则,将其添加到字典并设初始值为1
return counts
# 示例:
input_numbers = [1, 2, 2, 3, 3, 3, 4, 5, 5]
result = count_numbers(input_numbers)
for number, count in result.items():
print(f"{number}: {count}")
```
对于其他语言,类似的概念和结构可以找到相应的数据结构实现。在这个程序中,输入的数字列表会被遍历,然后每个数字的计数会在字典中更新。最后,程序会打印出每个数字及其出现的次数。
如果你想要C++版本,可以用unordered_map替换Python字典:
```cpp
#include <iostream>
#include <unordered_map>
std::unordered_map<int, int> count_numbers(std::vector<int>& numbers) {
std::unordered_map<int, int> counts;
for (int num : numbers) {
counts[num]++;
}
return counts;
}
int main() {
std::vector<int> input_numbers = {1, 2, 2, 3, 3, 3, 4, 5, 5};
auto result = count_numbers(input_numbers);
for (const auto& pair : result) {
std::cout << pair.first << ": " << pair.second << '\n';
}
return 0;
}
```
这些程序都实现了统计输入数字频率的功能。