PAT 1047编程团体赛

题目链接:请点击
思路:用一个int型的数组TeamNo存储每个队伍成绩,其中下标对应队伍编号,里面存储该队伍成绩。同时,用int型的tmax变量与tgrade变量分别用于存储当前最高分数的队伍及其当前成绩。每次输入循环时判断,此次队伍成绩是否大于当前最高分。最后输出。
代码

#include<iostream>
#include<cstring>
using namespace std;
int main(){
	int N;
	while(cin>>N){
		int TeamNo[1001];//下标对应队伍编号,存储的是该队伍所有队员的成绩
		memset(TeamNo,0,sizeof(TeamNo));//初始化全0 
		int tmax=0,tgrade=0;//tmax当前最高分队伍编号 tgrade当前最高分数 
		for(int i=0;i<N;i++) {
			int tno,no,grade;//tno对应队伍编号 no对应队员编号 
			scanf("%d-%d %d",&tno,&no,&grade);
			TeamNo[tno]+=grade; 
			if(tgrade<TeamNo[tno]){
				tmax=tno;
				tgrade=TeamNo[tno];
			}
		} 
		cout<<tmax<<" "<<TeamNo[tmax]<<endl;
	} 
	return 0;
} 
发布了46 篇原创文章 · 获赞 19 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/thwwu/article/details/104753504