问题 3185 --球员正负值排序(程序填空)

3185: 球员正负值排序(程序填空)★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 320  解决: 179
[提交][状态][命题人:]

题目描述

许多男生喜欢打篮球,也喜欢看篮球比赛(例如美职篮)。篮球比赛中的统计数据多种多样,其中有一项为球员的正负值数据。正负值是代表球员在上场时间内,球队整体比分的输赢情况。 NBA正负值的计算方法是:球员下场时球队领先的分数减去上场时球队领先的分数,落后记负数(下场时球队得分-对手得分)-(上场时球队得分-对手得分)。现在给出五位球员的一组数据,请计算各位球员的正负值并排序(正负值相同时按名字字母顺序由小到大排序)

#include <cstdio>  
#include <algorithm> 
#include <string.h>
using namespace std;
struct player
{
    char name[255];  
    int sc;          
    int xc;          
    int zfz;     
};
bool cmp(player a,player b)
{
    if(a.zfz != b.zfz) 
      return a.zfz > b.zfz; 
    if( ______(1)______ )           
      return 1;
    return 0;
}
int main()
{
   player a[5];     
   for(int i=0; i<5; i++)
   {
       scanf("%s%d%d", _____(2)_____ , &(a[i].xc), _____(3)_____ ); 
       a[i].zfz=a[i].xc-a[i].sc;  
   }
  _______(4)________;    
  for(int i=0; i<5; i++)
  {
     printf("%s\n", a[i].name);
  }  
}

输入

每行为球员名字  下场时球队领先分数  上场时球队领先分数。

输出

依照正负值进行排序后的球员名字。

样例输入
Copy
James   10   1
Davis    8    3
Kuzma   3    8
Green   6    9 
Howard  6    5
样例输出
Copy
James
Davis
Howard
Green
Kuzma

提示

来源

[提交][状态]