您的位置:首页 > 其它

给定一个整数序列,确定这个序列中出现次数最多的整数和它出现的次数

2013-07-31 16:13 344 查看

题目描述

对于给定一个整数序列,你的任务是确定这个序列中出现次数最多的整数和它出现的次数。

输入

输入包含多组测试数据,每组数据的第一行为一个整数 N(0 < N <= 1000),接下来一行为 N 个以空格分隔的整数 Ai,|Ai| < 2^31。

输出

对于每组测试数据,输出只有一行为两个空格分隔的整数A、B,分别代表出现次数最多的那个数和出现次数,如果出现次数最多的有多个,输出数值最小的那个。

示例输入

4
1 2 3 3
5
1 2 3 4 5


示例输出

3 2
1 1


1 #include<stdio.h>
2 struct vode
3 {
4     int date;
5     int cs;
6 }f[10000],t;
7 int main()
8 {
9     int i,n,j;
10     while(~scanf("%d",&n))
11     {
12         for(i=1;i<=10000;i++)
13         f[i].cs=0;
14     for(i=1;i<=n;i++)
15     scanf("%d",&f[i].date);
16     for(i=n;i>=1;i--)
17     {
18         for(j=1;j<=i;j++)
19             if(f[i].date==f[j].date)
20             f[j].cs++;
21     }
22     for(i=1;i<=n-2;i++)
23         for(j=i+1;j<=n-1;j++)
24         if(f[i].date>f[j].date)
25     {
26         t=f[i];
27         f[i]=f[j];
28         f[j]=t;
29     }
30     for(i=1;i<=n-2;i++)
31         for(j=i+1;j<=n-1;j++)
32         if(f[i].cs<f[j].cs)
33     {
34         t=f[i];
35         f[i]=f[j];
36         f[j]=t;
37     }
38     printf("%d %d\n",f[1].date,f[1].cs);
39     }
40 }


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐