编写程序,实现从键盘读入一行数字(数字个数不定,各数字以空格隔开),统计并榆出各数字出现的次数。输出格式如: 数字2出现的次数为3 数字 40 出现的次数为 1…….
时间: 2024-03-21 08:38:38 浏览: 7
好的,我可以帮你解决这个问题。以下是 Python 代码实现:
```python
numbers = input("请输入一行数字,以空格分隔:").split()
# 将数字转换为整数
numbers = list(map(int, numbers))
# 统计数字出现的次数
count = {}
for num in numbers:
if num in count:
count[num] += 1
else:
count[num] = 1
# 输出每个数字出现的次数
for num, freq in count.items():
print("数字 {} 出现的次数为 {}".format(num, freq))
```
首先,我们通过 `input()` 函数从键盘读入一行数字,并使用 `split()` 方法将其按照空格分隔成多个字符串。接着,我们使用 `map()` 函数将每个字符串转换为整数,并将它们存储在 `numbers` 列表中。
然后,我们使用一个字典 `count` 来统计每个数字出现的次数。遍历 `numbers` 列表中的每个数字,如果它已经在 `count` 字典中,则将其对应的计数器加 1,否则将其加入字典并初始化计数器为 1。
最后,我们使用 `items()` 方法遍历 `count` 字典中的每个键值对,并使用 `format()` 方法输出每个数字出现的次数。
希望这个代码对你有所帮助!
相关问题
实现从键盘读入一行数字(数字个数不定,各数字以空格隔开),统计并输 出各数字出现的次数。java编写程序
好的,以下是Java代码实现:
```java
import java.util.HashMap;
import java.util.Scanner;
public class CountNumbers {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
scanner.close();
String[] numbers = input.split(" ");
HashMap<String, Integer> countMap = new HashMap<String, Integer>();
for (String number : numbers) {
if (countMap.containsKey(number)) {
countMap.put(number, countMap.get(number) + 1);
} else {
countMap.put(number, 1);
}
}
for (String number : countMap.keySet()) {
System.out.println(number + "出现了" + countMap.get(number) + "次");
}
}
}
```
这个程序先从键盘读入一行数字字符串,然后使用空格分割字符串,得到一个数字数组。接着,使用 HashMap 来统计每个数字出现的次数,最后遍历 HashMap 输出结果。
编写程序,实现从键盘读入一行数字(数字个数不定,各数字以空格隔开),统计并榆出各数字出现的次数。输出格式如: 数字2出现的次数为3 数字 40 出现的次数为 1
以下是Java代码实现:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一行数字,以空格隔开:");
String input = scanner.nextLine();
String[] nums = input.split(" ");
Map<String, Integer> map = new HashMap<>();
for (String num : nums) {
if (map.containsKey(num)) {
map.put(num, map.get(num) + 1);
} else {
map.put(num, 1);
}
}
for (String key : map.keySet()) {
System.out.println("数字 " + key + " 出现的次数为 " + map.get(key));
}
}
}
```
解释一下代码:
- 首先使用Scanner从键盘读入一行数字,使用split方法将其按照空格分割成多个字符串。
- 创建一个HashMap用于存储每个数字出现的次数,遍历分割后的字符串数组,如果map中已经包含该数字,则将其出现次数+1,否则在map中新增该数字并将其出现次数初始化为1。
- 最后使用for-each循环遍历map中的每个键值对,输出数字和出现次数即可。