習題7-2 求一批整數(shù)中出現(xiàn)最多的個位數(shù)字 (20 分)
1. 題目摘自
https://pintia.cn/problem-sets/12/problems/325
2. 題目內容
給定一批整數(shù),分析每個整數(shù)的每一位數(shù)字捉撮,求出現(xiàn)次數(shù)最多的個位數(shù)字。例如給定3個整數(shù)1234离唐、2345、3456弛姜,其中出現(xiàn)最多次數(shù)的數(shù)字是3和4情臭,均出現(xiàn)了3次。
輸入格式:
輸入在第1行中給出正整數(shù)N(≤1000)感凤,在第二行中給出N個不超過整型范圍的非負整數(shù),數(shù)字間以空格分隔粒督。
輸出格式:
在一行中按格式“M: n1 n2 ...”輸出陪竿,其中M是最大次數(shù),n1屠橄、n2族跛、……為出現(xiàn)次數(shù)最多的個位數(shù)字,按從小到大的順序排列锐墙。數(shù)字間以空格分隔礁哄,但末尾不得有多余空格。
輸入樣例:
3
1234 2345 3456
輸出樣例:
3: 3 4
3. 源碼參考
#include<iostream>
using namespace std;
#define len 80
int main()
{
int i, j, k, n, m;
int a[len] = { 0 };
int c[11] = { 0 };
cin >> n;
for (i = 0; i < n; i++)
{
cin >> a[i];
}
for (i = 0; i < n; i++)
{
k = a[i];
while (k)
{
c[k % 10]++;
k /= 10;
}
}
m = c[0];
for (i = 1; i < 10; i++)
{
if (m < c[i])
{
m = c[i];
}
}
cout << m << ":";
for (i = 1; i < 10; i++)
{
if (c[i] == m)
{
cout << " " << i;
}
}
cout << endl;
return 0;
}