NOIP200701【奖学金】

//更新的年份(是题的年份,不是更的年份)可能不一样,但连续的一般是一年的,学生党,你懂的。。。(···。··· 怪我调皮没用运算符重载)

#include<iostream>
using namespace std;

//冒泡。。。为啥比语文成绩!!!内心是崩溃的。这道题一个同学是用语文加总分减学号做的,有兴趣的试一下,也对,楼楼就不在这赘述了
int main()
{
int n;
cin>>n;
int xuehao[301],yuwen[301],shuxue[301],yingyu[301];//简单定义
int sum[301]={0};
for (int i=0;i<n;i++)
{
cin>>yuwen[i]>>shuxue[i]>>yingyu[i];
xuehao[i]=i+1;//学号
sum[i]=yuwen[i]+shuxue[i]+yingyu[i];//总分
}
for (int i=0;i<n-1;i++)
{
for (int j=i+1;j<n;j++)
{
if (sum[i]<sum[j])
{
swap(sum[i],sum[j]);
swap(xuehao[i],xuehao[j]);
swap(yuwen[i],yuwen[j]);
swap(yingyu[i],yingyu[j]);
}
}
}
for (int i=0;i<n-1;i++)
{
if (sum[i]==sum[i+1])
{
if (yuwen[i]==yuwen[i+1])
{
if (xuehao[i]>xuehao[i+1])
{
swap(sum[i],sum[i+1]);
swap(xuehao[i],xuehao[i+1]);
swap(yuwen[i],yuwen[i+1]);
swap(yingyu[i],yingyu[i+1]);
}
}
else if (yuwen[i]<yuwen[i+1])
{
swap(sum[i],sum[i+1]);
swap(xuehao[i],xuehao[i+1]);
swap(yuwen[i],yuwen[i+1]);
swap(yingyu[i],yingyu[i+1]);
}
}
}
for (int i=0;i<5;i++)
{
cout<<xuehao[i]<<" "<<sum[i]<<endl;
}
//system("pause");
return 0;
}//残暴的排序,楼楼的代码本来没有这么乱的说。。。|||·_·

posted @ 2016-01-22 23:20  大柠檬  阅读(455)  评论(1编辑  收藏  举报