标签:
//更新的年份(是题的年份,不是更的年份)可能不一样,但连续的一般是一年的,学生党,你懂的。。。(···。··· 怪我调皮没用运算符重载)
#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;
}//残暴的排序,楼楼的代码本来没有这么乱的说。。。|||·_·
标签:
原文地址:http://www.cnblogs.com/Emma-cpp/p/5152614.html