(5)求一批整数中出现最多的数字:输人一个正整数n(1<n≤1000), 再输入n个整数,分析每个整数的每一-位数字,求出现次数最多的各位数字。例如,输人3个整数1234、2345、3456,其中出现次数最多的数字是3和4,均出现了3次。试编写相应程序;用C语言
时间: 2023-12-17 12:04:29 浏览: 229
输入若干个整数,统计出现次数最多的那个整数。如果出现最多的整数有两个以上,打印最早输入的那个整数。
以下是用 C 语言编写的程序,实现求一批整数中出现最多的数字:
```c
#include <stdio.h>
int main() {
int n, num[1000], count[10] = {0}, max_count = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &num[i]);
int temp = num[i];
while (temp != 0) {
count[temp % 10]++;
temp /= 10;
}
}
for (int i = 0; i < 10; i++) {
if (count[i] > max_count) {
max_count = count[i];
}
}
printf("出现次数最多的数字:");
for (int i = 0; i < 10; i++) {
if (count[i] == max_count) {
printf("%d ", i);
}
}
printf(",出现了%d次", max_count);
return 0;
}
```
程序的思路如下:
1. 首先读入一个正整数 n,表示接下来有 n 个整数;
2. 用一个数组 num 存储这 n 个整数;
3. 用一个数组 count 记录每个数字出现的次数,初始值全部为 0;
4. 对于每个整数,分析它的每一位数字,并在 count 数组中对应的位置记录出现次数;
5. 找出 count 数组中出现次数最多的数字,并输出它们和它们的出现次数。
注意,此程序只考虑了一位数字的情况,如果需要考虑多位数字的情况,可以使用字符串处理或其他方法。
阅读全文