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 SocketServer
    python Socket网络编程 基础
    Kali 2017 使用SSH进行远程登录 设置 ssh 开机自启动
    用 python 的生成器制作数据传输进度条
    Markdown 语法的简要规则
    初学python之 面向对象
    windows和linux打印树状目录结构
    初学python之生成器
    初学 python 之 模拟sql语句实现对员工表格的增删改查
    使用wifite破解路由器密码
  • 原文地址:https://www.cnblogs.com/wenzhixin/p/6793176.html
Copyright © 2011-2022 走看看