top1编程
← 返回题目
题解

【基础】期末考试成绩排名

1 条题解

  • 0
    @ 2026-7-28 22:09:18
    #include <bits/stdc++.h>
    using namespace std;
    struct xs{
    	int xh;
    	string xm;
    	int sx;
    }a[110],t;
    int main(){
    	int n,i,j;
    	cin>>n;
    	for(int i=0;i<n;i++){
    		cin>>a[i].xh>>a[i].xm>>a[i].sx;
    	}
    	for(i = 0;i < n;i++){
    		for(j = 0;j < n - i - 1;j++){
    			if((a[j].sx < a[j + 1].sx) || (a[j].sx == a[j + 1].sx && a[j].xh > a[j + 1].xh)){
    				t = a[j];
    				a[j] = a[j + 1];
    				a[j + 1] = t;
    			}
    		}
    	}
    	for(int i=0;i<n;i++){
    		cout<<a[i].xh<<" "<<a[i].xm<<" "<<a[i].sx<<endl;
    	}
    	return 0;
    }
    
    • 1