御笔剑客 发表于 2018-4-15 09:58:20

这段程序哪里错了呢?

/*
查找和排序

题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩
      都按先录入排列在前的规则处理。

   例示:
   jack      70
   peter   96
   Tom       70
   smith   67

   从高到低成绩
   peter   96
   jack      70
   Tom       70
   smith   67

   从低到高

   smith   67

   Tom       70
   jack      70
   peter   96
*/
#include <bits/stdc++.h>
using namespace std;
structA{
    string str;
    int sorce;
};
bool cmp(A a,A b)
{
    return a.sorce >b.sorce;
}
int main()
{
    int n;
    int op;
    while(cin>>n>>op)
    {
      A num;
      for(int i=0;i<n;i++)
      {
            cin>>num.str>>num.sorce;
      }
      if(op==0)
            sort(num,num+n,cmp);
      else
            sort(num,num+n);
      for(int i=0;i<n;i++)
      {
            cout<<num.str<<" "<<num.sorce<<endl;
      }

    }
    return 0;
}

御笔剑客 发表于 2018-4-16 12:03:25

顶上去
页: [1]
查看完整版本: 这段程序哪里错了呢?