給定一批整數,分析每個整數的每一位數位,求出現次數最多的個位數字。例如給定3個整數1234、2345、3456,其中出現最多次數的數位是3和4,均出現了3次。
輸入格式:
輸入在第1行中給出正整數N(≤1000),在第二行中給出N個不超過整型範圍的非負整數,數位間以空格分隔。
輸出格式:
在一行中按格式「M: n1 n2 …」輸出,其中M是最大次數,n1、n2、……爲出現次數最多的個位數字,按從小到大的順序排列。數位間以空格分隔,但末尾不得有多餘空格。
輸入樣例:
3
1234 2345 3456
輸出樣例:
3: 3 4
#include<stdio.h>
#include<ctype.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
int main()
{
int n, i, num[10] = {0}, max = -1;
scanf("%d", &n);
int arr[n];
for ( i = 0; i < n; i++)
scanf("%d", &arr[i]);
for ( i = 0; i < n; i++){
if (arr[i] == 0)
num[0]++;
while(arr[i]){
num[arr[i] % 10]++;
arr[i] /= 10;
}
}
for ( i = 0; i < 10; i++){
if (num[i] > max)
max = num[i];
}
printf("%d:", max);
for ( i = 0; i < 10; i++){
if (num[i] == max)
printf(" %d", i);
}
return 0;
}