不知道为什么有问题?

P1093 [NOIP2007 普及组] 奖学金

jor蛋 @ 2021-08-26 13:32:26

#include<stdio.h>
int a[310][5];
int main(){
    int n,i,j,t;
    scanf("%d",&n);
    for(i=1;i<=n;i++){
        for(j=1;j<=3;j++)
            scanf("%d",&a[i][j]);
        a[i][0]=a[i][1]+a[i][2]+a[i][3];
        a[i][4]=i;
    }
    for(i=1;i<=n;i++)
        for(j=1;j<=n-i;j++){
            if(a[j][0]<a[j+1][0]){
                t=a[j][0];
                a[j][0]=a[j+1][0];
                a[j+1][0]=t;
                t=a[j][4];
                a[j][4]=a[j+1][4];
                a[j+1][4]=t;
            }
            if(a[j][0]==a[j+1][0]){
                if(a[j][1]<a[j+1][1]){
                    t=a[j][0];
                    a[j][0]=a[j+1][0];
                    a[j+1][0]=t;
                    t=a[j][4];
                    a[j][4]=a[j+1][4];
                    a[j+1][4]=t;
                }
            }
        }
    for(i=1;i<=5;i++){
        printf("%d %d\n",a[i][4],a[i][0]);
    }
    return 0;
}

不知道为什么错。。。


by 7708__qwq @ 2021-08-26 13:51:26

估计是你排序乱了

用结构体sort试试


by 一SakuRa @ 2021-08-26 13:59:40

@jor蛋

结构体+sort√


by 已注销yj!gBUM @ 2021-08-26 14:39:32

@jor蛋 结构体+sort+cmp


by jor蛋 @ 2021-08-26 14:42:29

@奥利给奥利给 不会啊


|