zoukankan      html  css  js  c++  java
  • HDU 1718 Rank 排序

    解题报告:给一个班的学生的分数排序,然后判断Jack在他们班级的排名是多少,并且有如下规定,若多个人的分数相同,则他们的排名也 是相同的。说白了就是问这个班上分数比Jack高的人数有多少个,如果有n个,则输出n+1。

    由于分数的范围只有0到100,我们可以定义一个数组Mark[105],然后Mark[i]存的是分数为i的人数,这样就可以了,输入结束之后,从100到0扫一遍,就是了。

     1 #include<cstdio>
     2 #include<cstring>
     3 int M[105];
     4 int main() {
     5     int num1,num,mark,x;
     6     while(scanf("%d",&num)!=EOF) {
     7         memset(M,0,sizeof(M));
     8         while(scanf("%d%d",&num1,&x),num1+x) {
     9             if(num == num1)
    10             mark = x;
    11             M[x] ++;    //这两步的顺序不能随意 
    12         }
    13         int tot = 0;
    14         for(int i = 100;i>=0;--i) {
    15             if(i == mark)
    16             break;
    17             tot += M[i];
    18         }
    19         printf("%d
    ",tot+1);
    20     }
    21     return 0;
    22 }
    View Code
  • 相关阅读:
    第七周作业
    第六周作业
    CSS
    12 week work
    7 week work
    6 week work 3
    6 week work 2
    6 week work 1
    常用的网络服务小总结
    网络基础设置
  • 原文地址:https://www.cnblogs.com/xiaxiaosheng/p/3258598.html
Copyright © 2011-2022 走看看