c/c++基础 蓝桥杯 第九章联赛排名

#include<bits/stdc++.h>
using namespace std;
struct team
{
  int id;//序号
  int s;//积分
  int g1;//净胜球
  int g2;//总进球数
  int g3;//总丢球球数
}t[30];//结构型数组
bool cmp(team x,team y){
  if(x.s != y.s) return x.s > y.s;
  else if(x.g1 != y.g1) return x.g1 > y.g1;
  else if(x.g2 != y.g2) return x.g2 > y.g2;
//else return true;//万一出现都相等,则返回cmp本身的从小到大的顺序,即x<y,x在前,y在后。
}
int main()
{
  int n,a,b,i,j; char c; cin>>n;
  t[i].s = t[i].g1 = t[i].g2 = t[i].g3 = 0;   
  t[j].s = t[j].g1 = t[j].g2 = t[j].g3 = 0;   
  for(i=1;i<=n;i++){
     t[i].id = i; //读入横着第i个序号
    for(j=1;j<=n;j++){
       t[j].id = j;//读入竖着第j个序号
      if(i == j){
        cin>>a; continue;//这里输入a 不懂//这里输入a 不懂//这里输入a 不懂//这里输入a 不懂/
      }
      cin>>a>>c>>b;
      if(a > b) t[i].s += 3;
      else if(a < b) t[j].s += 3;
      else t[i].s += 1,t[j].s += 1;
      t[i].g2 += a; t[j].g2 += b;//总进球数
      t[i].g3 += b; t[j].g3 += a;//总丢球球数
    }
  }
  for(i=1;i<=n;i++)
    t[i].g1 = t[i].g2 - t[i].g3;//总净胜球
  sort(t+1,t+n+1,cmp);//排序
  for(i=1;i<=n;i++)
    cout<<t[i].id<<" "<<t[i].s<<" "<<t[i].g1<<" "<<t[i].g2<<endl;
  return 0;
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值