欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

1179:奖学金

程序员文章站 2022-05-22 11:41:27
...
#include<bits/stdc++.h>
using namespace std;
const int MAXN=301;

int n;
struct score{
	int Chinese;
	int Math;
	int English;
	int total;
	int id;
}stu[MAXN];

int main(){
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>stu[i].Chinese>>stu[i].Math>>stu[i].English;
		stu[i].id=i+1;
		stu[i].total=stu[i].Chinese+stu[i].Math+stu[i].English;
	}
	for(int i=0;i<n-1;i++){
		for(int j=0;j<n-i-1;j++){
			if(stu[j].total<stu[j+1].total){
				struct score temp;
				temp=stu[j];
				stu[j]=stu[j+1];
				stu[j+1]=temp;
			}
			if(stu[j].total==stu[j+1].total){	
				if(stu[j].Chinese<stu[j+1].Chinese){	
					struct score temp;
					temp=stu[j];
					stu[j]=stu[j+1];
					stu[j+1]=temp;
				}
				else if(stu[j].Chinese==stu[j+1].Chinese && stu[j].id>stu[j+1].id){
					struct score temp;
					temp=stu[j];
					stu[j]=stu[j+1];
					stu[j+1]=temp;
				}
			}
		}
	}
	for(int i=0;i<5;i++){
		cout<<stu[i].id<<" "<<stu[i].total<<endl;
	}
	return 0;
}

相关标签: 排序算法