zoukankan      html  css  js  c++  java
  • 1123 最佳校友

    题目来源:
    https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=1123
    Description
    北京校友会每年举办两次,所有校友都有校友编号,每次到会的校友都在签到簿上写下自己的编号和姓名,在校友会成立5周年的聚会上将颁发“最佳校友奖”,该奖项颁发给到会次数最多的校友。现在请你编写程序,找出这个奖项的得主。若有多个校友并列第一,则均可获奖。  
    Input
    输入若干个整数,表示签到簿上的校友编号,所有编号均为0~99的整数,以一个负数作为输入结束的标志。
    Output
    输出出现次数最多的编号。若获奖选手有多个,则按从小到大的顺序输出选手编号,用空格隔开。
    Sample Input
    4 5 3 1 3 4 2 7 -1
    Sample Output
    3 4
    题意描述:
    输入若干个校友编号
    计算并输出出现次数最多的那个编号,若不唯一,则从小到大排列输出,中间用空格隔开
    解题思路:
    运用桶排序,找出出现次数最多的那一个,最后再遍历数组找出相同次数的编号输出即可
    程序代码:

     1 #include<stdio.h>
     2 #include<string.h>
     3 int main()
     4 {
     5     int x,a[1100],count,max,flag,i,n;
     6     memset(a,0,sizeof(a));
     7     while(scanf("%d",&x),x>=0)
     8     {
     9         a[x] += 1;
    10     }
    11     for(max=0,i=0;i<1000;i++)
    12     {
    13         if(a[i])
    14         {
    15             //printf("a[%d]=%d
    ",i,a[i]);
    16             if(a[i]>max)
    17             max=a[i];    
    18         }
    19     }
    20     for(flag=0,i=0;i<1000;i++)
    21     {
    22         if(a[i]==max)
    23         {
    24             if(flag)
    25                 printf(" %d",i);
    26             else
    27             {
    28                 flag=1;
    29                 printf("%d",i);
    30             }    
    31         }
    32     }
    33     printf("
    ");
    34     return 0;
    35 }
  • 相关阅读:
    python Windows环境下文件路径问题
    pycharm 取消连按两下shift出现的全局搜索
    python2 与 python3的区别
    Python安装PyOpenGL
    Protobuffer学习文档
    python bin文件处理
    python 项目自动生成requirements.txt文件
    pytest文档7-pytest-html生成html报告
    python from __future__ import division
    细说 Java 的深拷贝和浅拷贝
  • 原文地址:https://www.cnblogs.com/wenzhixin/p/6793176.html
Copyright © 2011-2022 走看看