C语言,求一批整数中出现最多的数字。输入一个正整数 n (1<n≤1000),再输入 n 个整数,分析 每个整数的每一位数字,求出现次数最多的各位数字。例如输入 3 个整数 1234、2345、3456, 其中出现次数最多的数字是 3 和 4,均出现了 3 次。试编写相应程序
时间: 2024-03-13 14:47:58 浏览: 167
C语言程序设计-给定n个数据, 求最大值出现的位置(如果最大值出现多次,求出第一次出现的位置即可);.c
5星 · 资源好评率100%
好的,我会尽力回答你的问题。以下是 C 语言实现:
```c
#include <stdio.h>
int main() {
int n, i, j, max = 0, count[10] = {0};
scanf("%d", &n);
int num[n];
for (i = 0; i < n; i++) {
scanf("%d", &num[i]);
while (num[i] != 0) {
count[num[i] % 10]++;
num[i] /= 10;
}
}
for (i = 0; i < 10; i++) {
if (count[i] > max) {
max = count[i];
}
}
printf("出现次数最多的数字为:");
for (i = 0; i < 10; i++) {
if (count[i] == max) {
printf("%d ", i);
}
}
printf(",均出现了 %d 次。\n", max);
return 0;
}
```
首先,我们输入一个正整数 n 表示数据组数。然后,我们定义一个长度为 n 的整型数组 num,用于存储 n 个输入的整数。接着,我们使用一个循环,将每一个整数的每一位数字分别提取出来,并在计数数组 count 中进行计数。最后,我们遍历计数数组,找到出现次数最多的数字,并输出结果。
需要注意的是,我们在定义计数数组时,将其初始化为 0,这是因为 C 语言中未初始化的局部变量的值是不确定的。而对于全局变量和静态变量,未初始化时默认值为 0。
阅读全文