西南科技大学OJ题 寻找出现次数最多的数(选做)1231

寻找出现次数最多的数(选做)

给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。

输入

 

输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。输入的第二行有n个整数s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。

输出

 

输出这n个次数中出现次数最多的数。如果这样的数有多个,输出其中最小的一个。

样例输入

6
10 1 10 20 30 20

样例输出

10

#include<stdio.h>
int main()
{
    int n;
    int a[100]={0};
    int k;
    int s1=0;
    int s2=0;
    int p=0;
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        scanf("%d",&k);
        a[k]++;
        if(k>s1)
        s1=k;
    }
    for(int i=0;i<s1;i++)
    {
        if(a[i]>s2)
        {
            s2=a[i];
            p=i;
        }
        else if(a[i]=s2)
        {
            if(p>i)
            {
                p=i;
            }
        }
    }
    printf("%d",p);
}

猜你喜欢

转载自blog.csdn.net/qq_40593308/article/details/84443670
今日推荐