用C语言编写一个求一批整数中出现次数最多的数字的程序。 求一批整数中出现最多的数字:输入一个正整数n(1<n≤1000),再输入n个整数,分析每个整数中的每一位数字,求出现次数最多的数字。例如输入3个整数1234,2345,3456,其中出现次数最多的数字是3和4,均出现了3次。
时间: 2024-02-15 17:05:39 浏览: 78
好的,以下是用C语言编写的程序,可以实现您的需求:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int n;
printf("请输入整数的个数:");
scanf("%d", &n);
int *nums = (int*)malloc(n * sizeof(int));
printf("请输入这些整数,用空格分隔:");
for (int i = 0; i < n; i++) {
scanf("%d", &nums[i]);
}
int digit_counts[10] = {0};
for (int i = 0; i < n; i++) {
int num = nums[i];
while (num > 0) {
digit_counts[num % 10]++;
num /= 10;
}
}
int max_count = 0;
for (int i = 0; i < 10; i++) {
if (digit_counts[i] > max_count) {
max_count = digit_counts[i];
}
}
printf("出现次数最多的数字是:");
for (int i = 0; i < 10; i++) {
if (digit_counts[i] == max_count) {
printf("%d ", i);
}
}
free(nums);
return 0;
}
```
该程序的原理与Python程序相同。首先,用户输入要处理的整数的数量和整数本身。然后,程序分析每个数字的每个数字,并将每个数字的计数存储在一个数组中。最后,程序找到出现最多的数字,并打印出来。
希望这个程序对您有所帮助!
阅读全文