#include <bits/stdc++.h> using namespace std; //声明结构体类型 struct Student{ int num; char name[20]; float score; }; int main(){ //定义结构体数组并赋值 struct Student stu[100]; struct Student t; int i,j,n; cin>>n; for(i = 0;i < n;i++){ cin>>stu[i].num>>stu[i].name>>stu[i].score; } for(i = 0;i < n;i++){ for(j = 0;j < n - i - 1;j++){ if((stu[j].score < stu[j + 1].score) || (stu[j].score == stu[j + 1].score && stu[j].num > stu[j + 1].num)){ t = stu[j]; stu[j] = stu[j + 1]; stu[j + 1] = t; } } } //输出所有人的信息 for(i = 0;i < n;i++){ cout<<stu[i].num<<" "<<stu[i].name<<" "<<stu[i].score<<endl; } } /************************************************************** Problem: 1414 User: admin Language: C++ Result: Accepted Time:13 ms Memory:2072 kb ****************************************************************/