有一组整形数组,请返回一个两个元素的数组,元素值分别对应其中出现次数最多,且数值最大的数及其次数。如果有多个出现次数相同的数字,则输出数值大的那个。 输入:1 2 2 2 33 33 33 输出:33,3
#include<iostream>
using namespace std;
int main()
{
int tmp[100];
for (int n = 0; n < 100; n ++) tmp[n] = 0;//初始化数组并赋值为0
int num[100]; //int型数组用于存储输入变量
int i = 0; //输入变量索引
do
{
cin >> num[i];
tmp[num[i]]++;
i++;
}
while(cin.get() != '\n');
int max = 0; //记录最大值
int count = 0; //记录最大个数
for(int j = 0; j < sizeof(tmp) / 4; ++j)
{
if(tmp[j] >= count)
{
count = tmp[j];
max = j;
}
}
cout << max << "," << count << endl;
}