从键盘输入若干整数(数据个数少于50), 其值在0~9的范围内,用-1作为输入结束的标志; 统计同一整数出现的个数。
时间: 2024-10-29 18:14:12 浏览: 16
基于C++,写一个计算求和的函数模板,用户从键盘输入若干整数,以-1为结束标志,实现对用户输入的值进行求和,并返回求和结果
这是一个简单的编程任务,通常用于学习基础的数据结构和算法,比如哈希表或者数组。你可以按照以下步骤来完成这个任务:
1. 初始化一个空的哈希表(Python中可以使用字典,Java中可以使用HashMap)来存储每个整数及其出现的次数。
2. 使用一个循环不断读取用户的输入,直到用户输入-1为止。
3. 对于每输入的一个整数,检查它是否已经在哈希表中。如果存在,将对应的计数值加一;如果不存在,添加一个新的键并设置值为1。
4. 循环结束后,哈希表中每个键对应的值就是对应整数出现的次数。
下面是一个Python示例代码:
```python
counts = {} # 使用字典作为哈希表
while True:
num = input("请输入一个整数(-1结束):")
if num == '-1':
break
if num in counts:
counts[num] += 1
else:
counts[num] = 1
for key, value in counts.items():
print(f"数字 {key} 出现了 {value} 次")
```
对于Java,你可以使用类似的方式,这里给出简化的版本:
```java
import java.util.HashMap;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
HashMap<Integer, Integer> counts = new HashMap<>(); // 使用HashMap
Scanner scanner = new Scanner(System.in);
while (true) {
int num = scanner.nextInt();
if (num == -1) {
break;
}
counts.put(num, counts.getOrDefault(num, 0) + 1);
}
for (Map.Entry<Integer, Integer> entry : counts.entrySet()) {
System.out.println("数字 " + entry.getKey() + " 出现了 " + entry.getValue() + " 次");
}
}
}
```
阅读全文