實(shí)驗(yàn)7-1-6 求一批整數(shù)中出現(xiàn)最多的個(gè)位數(shù)字 (20 分)
1. 題目摘自
https://pintia.cn/problem-sets/13/problems/503
2. 題目?jī)?nèi)容
給定一批整數(shù)柔滔,分析每個(gè)整數(shù)的每一位數(shù)字铣口,求出現(xiàn)次數(shù)最多的個(gè)位數(shù)字鬼廓。例如給定3個(gè)整數(shù)1234迫悠、2345庶香、3456承边,其中出現(xiàn)最多次數(shù)的數(shù)字是3和4酗昼,均出現(xiàn)了3次逸尖。
輸入格式:
輸入在第1行中給出正整數(shù)N(≤1000)锄开,在第二行中給出N個(gè)不超過(guò)整型范圍的非負(fù)整數(shù)素标,數(shù)字間以空格分隔。
輸出格式:
在一行中按格式“M: n1 n2 ...”輸出萍悴,其中M是最大次數(shù)头遭,n1寓免、n2、……為出現(xiàn)次數(shù)最多的個(gè)位數(shù)字计维,按從小到大的順序排列袜香。數(shù)字間以空格分隔,但末尾不得有多余空格鲫惶。
輸入樣例:
3
1234 2345 3456
輸出樣例:
3: 3 4
3. 源碼參考
#include <iostream>
using namespace std;
int main()
{
int n, m, k;
int c[10] = { 0 };
cin >> n;
for(int i = 0; i < n; i++)
{
cin >> m;
while(m)
{
c[m % 10]++;
m /= 10;
}
}
m = c[0];
k = 0;
for(int i = 1; i < 10; i++)
{
if(m < c[i])
{
m = c[i];
k = i;
}
}
cout << c[k] << ":";
for(int i = 1; i < 10; i++)
{
if(c[i] == c[k])
{
cout << " " << i;
}
}
cout << endl;
return 0;
}