PAT(乙级)2019年秋季考试 7-2 教超冠军卷 (20分)

7-2 教超冠军卷 (20分)
 

“教育超市”是拼题 A 系统的一个衍生产品,发布了各种试卷和练习供用户选购。在试卷列表中,系统不仅列出了每份试卷的单价,还显示了当前的购买人次。本题就请你根据这些信息找出教育超市所有试卷中的销量(即购买人次)冠军和销售额冠军。

输入格式:

输入首先在第一行中给出一个正整数 N(≤),随后 N 行,每行给出一份卷子的独特 ID (由小写字母和数字组成的、长度不超过8位的字符串)、单价(为不超过 1 的正整数)和购买人次(为不超过 1 的非负整数)。

输出格式:

在第一行中输出销量冠军的 ID 及其销量,第二行中输出销售额冠军的 ID 及其销售额。同行输出间以一个空格分隔。题目保证冠军是唯一的,不存在并列。

输入样例:

4
zju007 39 10
pku2019 9 332
pat2018 95 79
qdu106 19 38
 

输出样例:

pku2019 332
pat2018 7505



代码讲解:异常简单,就是一个循环找最大就可以了 。。。




 1 #include<stdio.h>
 2 typedef struct 
 3 {
 4     char a[20];
 5     int price;
 6     int mount;
 7     int total;
 8 }juan;
 9 int main()
10 {
11     int n,i,mount_i,total_i,max_mount=0,max_total=0;
12     scanf("%d",&n);
13     juan a[n];
14     for(i=0;i<n;i++)
15     {
16         scanf("%s %d %d",a[i].a,&a[i].price,&a[i].mount);
17         a[i].total=a[i].price*a[i].mount;
18         if(a[i].mount>max_mount)
19         {
20             max_mount=a[i].mount;
21             mount_i=i; 
22         }
23         if(a[i].total>max_total)
24         {
25             max_total=a[i].total;
26             total_i=i;
27         }
28     }
29     printf("%s %d\n",a[mount_i].a,a[mount_i].mount);
30     printf("%s %d\n",a[total_i].a,a[total_i].total);    
31     return 0;
32 }

 

 
posted @ 2020-12-02 21:25  罪梦者  阅读(120)  评论(0)    收藏  举报