编写一个程序读入整数n,返回该数字中出现频率最高的数字。给定的数字可以是正数或负数,但返回的最频繁数字应始终为非负数。如果最频繁的数字有多个,则应返回最大的数字。
时间: 2024-02-13 16:07:17 浏览: 71
Doc2,c语言识别屏幕数字源码,c语言程序
好的,这是一个关于统计数字频率的问题,我可以给您提供一个解决方案。
首先,我们可以将输入的整数n转换为字符串,然后遍历字符串中的每个字符,统计每个字符出现的次数,最终找到出现次数最多的字符。
以下是一个Python程序示例,它实现了这个功能:
```python
def find_most_frequent_digit(n):
n = str(abs(n)) # 将n转换为字符串并去掉负号
freq = [0] * 10 # freq数组用于统计数字出现的次数
for i in range(len(n)):
digit = int(n[i])
freq[digit] += 1
max_freq = max(freq) # 找到出现次数最多的数字的出现次数
most_frequent_digit = freq.index(max_freq) # 找到出现次数最多的数字
return most_frequent_digit
```
您可以测试该程序,比如调用 `find_most_frequent_digit(123456789)` 将会返回数字9,因为在输入数字中出现频率最高的数字是9。
希望这个解决方案能够帮到您!
阅读全文