xdoj 出现次数最多的数
标题
出现次数最多的数
问题描述
给定n个正整数, 找出它们中出现次数最多的数。如果这样的数有多个, 请输出其中最小的一个。
输入说明
输入数据分为两行。
输入的第一行只有一个正整数n(1≤n≤1000),表示数字的个数。
输入的第二行有n个整数s 相邻的数用空格分隔。
输出说明
输出这n个整数中出现次数最多的数。如果这样的数有多个, 输出其中最小的一个。
输入样例1
6
10 1 10 20 30 20
输出样例1
10
输入样例2
8
52 4 20 70 30 70 40 98
输出样例2
70
#include <stdio.h>
int main()
{
int n,i,j,k,t,b=0,max=0,a[1000];
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
k=0;
if(b!=a[i])
{
for(j=0;j<n;j++)
{
if(a[j]==a[i])
k++;
b=a[i];
}
}
else
continue;
if(k>max)
{
max=k;
t=a[i];
}
else if(k==max)
{
if(a[i]<t)
t=a[i];
}
}
printf("%d",t);
return 0;
}