1. 程式人生 > >7-5 求一批整數中出現最多的個位數字

7-5 求一批整數中出現最多的個位數字

輸入格式:輸入在第1行中給出正整數NNN(≤1000\le 1000≤1000),在第二行中給出NNN個不超過整型範圍的非負整數,數字間以空格分隔。 輸出格式:在一行中按格式“M: n1 n2 …”輸出,其中M是最大次數,n1、n2、……為出現次數最多的個位數字,按從小到大的順序排列。數字間以空格分隔,但末尾不得有多餘空格。
輸入樣例:
3
1234 2345 3456
輸出樣例:3: 3 4
程式碼:
#include<stdio.h>
#include<string.h>
int main()
{
int n, a[10]={0},i;
char x,b[10007];
scanf("%d",&n);
scanf("\n");
gets(b);
int len=strlen(b);
for(i=0;i<len;i++)
{
x=b[i];
x=x-‘0’;
a[x]++;
}
int max=0;
for(i=0;i<10;i++)
{
if(a[i]>max)
{
max=a[i];
}
}
printf("%d: “,max);
int k=0,p=0;
for(i=0;i<10;i++)
{
if(a[i]==max)
k++;
}
for(i=0;i<10;i++)
{
if(a[i]==max)
{
printf(”%d",i);
p++;
if(p!=k)
printf(" ");
}
}
return 0;
}