题目描述:编程
编程团体赛的规则为:每一个参赛队由若干队员组成;全部队员独立比赛;参赛队的成绩为全部队员的成绩和;成绩最高的队获胜。 现给定全部队员的比赛成绩,请你编写程序找出冠军队。 输入格式: 输入第一行给出一个正整数 N(≤10000 ),即全部参赛队员总数。随后 N 行,每行给出一位队员的成绩,格式为:队伍编号-队员编号 成绩,其中队伍编号为 1 到 1000 的正整数,队员编号为 1 到 10 的正整数,成绩为 0 到 100 的整数。 输出格式: 在一行中输出冠军队的编号和总成绩,其间以一个空格分隔。注意:题目保证冠军队是惟一的。 输入样例: 6 3-10 99 11-5 87 102-1 0 102-3 100 11-9 89 3-2 61 输出样例: 11 176
要点反思:spa
// 对于队伍编号,队员编号,队员成绩的输入能够采用: scanf("%d-%d %d",&t_num,&p_num,&val);
本人AC代码:blog
// 1047 编程团体赛 # include <stdio.h> # define Max 1001 int main(void) { int N, val, t_num, p_num, i; int max; // 记录得分最高的队伍编号 int final[Max] = {0}; scanf("%d",&N); while (N>0) { scanf("%d-%d %d",&t_num,&p_num,&val); final[t_num] += val; N--; } max = 1; for (i=2; i<Max; i++) { if (final[max] < final[i]) max = i; } printf("%d %d",max, final[max]); return 0; }
RRRio