出现次数最多的整数
问题描述
编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值。
输入格式:第一行是一个整数N,N £ 20;接下来有N行,每一行表示一个整数,并且按照从小到大的顺序排列。
输出格式:输出只有一行,即出现次数最多的那个元素值。
输入输出样例
样例输入
5
100
150
150
200
250
样例输出
150
/*
蓝桥杯出现次数最多的整数
2291793270@qq.com
jiameng
*/
#include <cstdio>
#include <iostream>
#include <cstring>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
int N,i,j,max;
cin>>N;
int A[20];
int B[20]={0};//存储对应A数组元素出现的次数
if(N>0)
{
for(int i=0;i<N;i++)
{
cin>>A[i];
}
for(int i=0;i<N;i++)
{
for(int j=0;j<i;j++)
{
if(A[i]==A[j])
{
B[j]++;
break;
}
}
B[i]++;//每个数都出现了一次
}
/*下边开始筛选出现次数最多的元素*/
max=B[0];
j=0;
for(int i=0;i<N;i++)
{
if(max<B[i])
{
max=B[i];
j=i;
}
}
cout<<A[j]<<endl;//max为出现的次数,本题未要求输出,但保存的有
}
return 0;
}
/**/