等值并列排名(学生成绩排名)

Posted zwk2018

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了等值并列排名(学生成绩排名)相关的知识,希望对你有一定的参考价值。

#include<stdio.h>
int main(void){
    int count[22]={7,7,5,5,4,4,4,4,3,3,3,3,2,2,2,2,1,1,1,1,1,1};//已排好序待排名的数组
    int s[22];//根据count数组分别加入排名次序
    int i,j;
    int k,result;
    k=1;result=1;
    for(i=0;i<22;i++){
        if(i==0){
        s[i]=k;
        }
        else if(i>0&&count[i]!=count[i-1]){
        k++;
        result++;
        s[i]=k;
    
        }
        else if(i>0&&count[i]==count[i-1]){
        s[i]=result;
        k++;
        if(i<22&&count[i]!=count[i+1]){
        result=k;
        }
        }
    }
    for(j=0;j<22;j++){
        printf("%d      %d
",count[j],s[j]);
    }
    return 0;
}

技术分享图片

运行结果如图所示,代码没有经过优化,只是实现了排名功能。

 

以上是关于等值并列排名(学生成绩排名)的主要内容,如果未能解决你的问题,请参考以下文章

计算并列排名的算法

SQL 怎样查询 单科成绩排名第3名的学生?

PAT乙级 1004. 成绩排名 (20)

C语言程序设计,结构体

PAT 乙级 水题 1004. 成绩排名 (20)

1004. 成绩排名 (20)