PAT-B1032

1032 挖掘机技术哪家强(20)

输入格式:

输入在第1行给出不超过10^5^的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从1开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。

输出格式:

在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。

思路一:

1)定义int型变量n读入的参赛人数,定义长度为n的double型数组p[N]存放每一个学校的的信息和成绩:p[N]表示学校编号为N的总分。初始化为0。

2)读入输入的参赛者的信息和成绩,若是同一个编号,则进行累加。

3)循环搜索比较的到最大的p[N]值,将其按照要求格式输出。

 1 #include <stdio.h>
 2 int main(){
 3     
 4     const int MAX_SIZE=100001;
 5     int n=0,i,x,m;//输入的正整数,x:编号,y:成绩 .m:输出的学校编号 
 6     double p[MAX_SIZE],y,max=0.0;//max输出的成绩 
 7 
 8     scanf("%d",&n);
 9     for(i=0;i<=n;i++){//初始化0 
10         p[i]=0;
11     } 
12     for(i=1;i<=n;i++){
13         scanf("%d %lf",&x,&y);
14         p[x]+=y;
15     } 
16     for(i=1;i<=n;i++){
17         if(p[i]>max){
18             max=p[i];
19             m=i;
20         } 
21     }
22     printf("%d %.0f",m,max);
23      
24     return 0;
25 }

 

posted @ 2018-08-03 15:59  一乐one  阅读(167)  评论(0编辑  收藏  举报