输入一组数字 输出其中出现次数最多的数字 并显示其出现次数
时间: 2023-10-30 20:06:12 浏览: 74
这是一个常见的计数问题,可以使用哈希表来记录每个数字的出现次数,然后遍历哈希表找出出现次数最多的数字。以下是一个示例代码:
```
def find_most_frequent_num(nums):
freq = {}
for num in nums:
if num in freq:
freq[num] += 1
else:
freq[num] = 1
max_freq = 0
most_freq_num = None
for num in freq:
if freq[num] > max_freq:
max_freq = freq[num]
most_freq_num = num
return most_freq_num, max_freq
nums = [1, 2, 3, 4, 5, 5, 5]
num, freq = find_most_frequent_num(nums)
print("出现次数最多的数字是{},出现了{}次。".format(num, freq))
```
输出结果为:
```
出现次数最多的数字是5,出现了3次。
```
希望能对您有所帮助!
相关问题
输入一组数字 输出其中出现次数最多的数字并显示出出现次数
这道题需要用到一个数据结构——字典(Python中的dict),将数字作为键,出现次数作为值存储在字典中,统计完所有数字出现次数后,再遍历字典找到出现次数最多的数字。
以下是Python代码实现:
```python
def find_most_frequent(nums):
freq_dict = {}
for num in nums:
if num in freq_dict:
freq_dict[num] += 1
else:
freq_dict[num] = 1
max_freq = 0
most_frequent = None
for num, freq in freq_dict.items():
if freq > max_freq:
max_freq = freq
most_frequent = num
return most_frequent, max_freq
nums = input("请输入一组数字(用空格隔开):").split()
nums = [int(num) for num in nums]
most_frequent, max_freq = find_most_frequent(nums)
print("出现次数最多的数字是{},出现了{}次。".format(most_frequent, max_freq))
```
运行结果:
```
请输入一组数字(用空格隔开):1 2 3 2 3 3 4 5 5
出现次数最多的数字是3,出现了3次。
```
C语言输入一组数字 输出其中出现次数最多的数字并显示出出现次数
以下是一个实现此功能的C语言代码:
```c
#include <stdio.h>
#define MAX_SIZE 100
int main() {
int nums[MAX_SIZE];
int count[MAX_SIZE] = {0}; // 用于记录每个数字出现的次数
int n, max_count = 0, max_num;
printf("请输入数字的个数(不超过 %d):", MAX_SIZE);
scanf("%d", &n);
printf("请输入 %d 个数字:", n);
for (int i = 0; i < n; i++) {
scanf("%d", &nums[i]);
count[nums[i]]++; // 对应数字出现次数加1
if (count[nums[i]] > max_count) { // 更新出现次数最多的数字
max_count = count[nums[i]];
max_num = nums[i];
}
}
printf("出现次数最多的数字是 %d,出现了 %d 次。", max_num, max_count);
return 0;
}
```
该程序首先从用户处获取一组数字,然后利用计数数组 `count` 记录每个数字出现的次数。在输入过程中,每输入一个数字,就更新计数数组,并检查该数字是否出现次数更多,是则更新记录出现次数最多的数字和出现次数。最后输出结果。
需要注意的是,该程序并没有处理多个数字出现次数相同的情况。如果有多个数字出现次数相同,上述代码只会输出其中的一个。如果需要处理这种情况,可以将计数数组中所有出现次数最多的数字都记录下来,然后一起输出即可。