首页 > 其他分享 >PAT Basic 1102. 教超冠军卷

PAT Basic 1102. 教超冠军卷

时间:2023-04-16 11:24:20浏览次数:46  
标签:maxMoneyIndex PAT int pTest 教超 sale 1102 冠军 TestPaper

PAT Basic 1102. 教超冠军卷

1. 题目描述:

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

2. 输入格式:

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

3. 输出格式:

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

4. 输入样例:

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

5. 输出样例:

pku2019 332
pat2018 7505

6. 性能要求:

Code Size Limit
16 KB
Time Limit
400 ms
Memory Limit
64 MB

思路:

回血题,按照题意编写即可。这里定义结构体TestPaper存储试卷相关信息,好像也没必要把每份试卷的信息都保存下来。。。

My Code:

#include <stdio.h>
#include <stdlib.h> // malloc header

typedef struct testpaper
{
    char id[9];
    int unit;
    int sale;
} TestPaper;

int main(void)
{
    int testPaperCount=0;
    TestPaper * pTest = NULL;
    // int tempSale=0, tempMoney=0;
    int maxSale=-1, maxMoney=-1;
    int maxSaleIndex=0, maxMoneyIndex=0;
    
    scanf("%d", &testPaperCount);
    pTest = (TestPaper *)malloc(sizeof(TestPaper) * testPaperCount); // allocate heap memory
    for(int i=0; i<testPaperCount; ++i)
    {
        scanf("%s%d%d", pTest[i].id, &pTest[i].unit, &pTest[i].sale);
        if(pTest[i].sale > maxSale)
        {
            maxSale = pTest[i].sale; 
            maxSaleIndex = i;
        }
        if(pTest[i].unit*pTest[i].sale > maxMoney)
        {
            maxMoney = pTest[i].unit * pTest[i].sale;
            maxMoneyIndex = i;
        }
    }
    
    printf("%s %d\n", pTest[maxSaleIndex].id, pTest[maxSaleIndex].sale);
    printf("%s %d\n", pTest[maxMoneyIndex].id, pTest[maxMoneyIndex].unit * pTest[maxMoneyIndex].sale);
    
    free(pTest); // release memory
    return 0;
}

标签:maxMoneyIndex,PAT,int,pTest,教超,sale,1102,冠军,TestPaper
From: https://www.cnblogs.com/tacticKing/p/17322696.html

相关文章

  • PAT Basic 1101. B是A的多少倍
    PATBasic1101.B是A的多少倍1.题目描述:设一个数 \(A\) 的最低 \(D\) 位形成的数是 \(a_d\)。如果把 \(a_d\) 截下来移到 \(A\) 的最高位前面,就形成了一个新的数 \(B\)。\(B\) 是 \(A\) 的多少倍?例如将12345的最低2位45截下来放到123的前面,就得到45123,......
  • AS_Path Filter的应用方式
    AS_PathFilter的应用方式AS_Path过滤器只定义一个过滤工具,需要在某个地方调用这个过滤工具才会最终生效。在BGP中可以有两种方式调用AS_Path过滤器:通过peer命令直接调用AS_Path_Filter。通过route-policy调用AS_Path_Filter。应用方式一:通过peer命令直接调用as-path-filter#ipas......
  • PAT Basic 1100. 校庆
    PATBasic1100.校庆1.题目描述:2019年浙江大学将要庆祝成立122周年。为了准备校庆,校友会收集了所有校友的身份证号。现在需要请你编写程序,根据来参加校庆的所有人士的身份证号,统计来了多少校友。2.输入格式:输入在第一行给出不超过\(10^5\)的正整数N,随后N行,每行给出......
  • git 遇到的CApath: none问题解决
    在适应git时,遇到了如下问题。fatal:unabletoaccess'https://github.com/brunosimon/folio-2019.git/':errorsettingcertificateverifylocations: CAfile:D:/明月下/Git/mingw64/ssl/certs/ca-bundle.crtCApath:none第一反应是查找这个文件是什么,在不在。首先这......
  • PAT Basic 1099. 性感素数
    PATBasic1099.性感素数1.题目描述:“性感素数”是指形如\((p,p+6)\)这样的一对素数。之所以叫这个名字,是因为拉丁语管“六”叫“sex”(即英语的“性感”)。(原文摘自http://mathworld.wolfram.com/SexyPrimes.html)现给定一个整数,请你判断其是否为一个性感素数。2.输入格......
  • centos7 PATH 环境变量设置
    https://blog.csdn.net/qq_39715000/article/details/1250231901、系统环境变量系统环境变量对全部的用户生效,设置系统环境变量有三种方法。1)在/etc/profile文件中设置。用户登录时执行/etc/profile文件中设置系统的环境变量。但是,Linux不建议在/etc/profile文件中设置系统环......
  • os.path.dirname;os.path.abspath;os.walk方法详解
    os.path.dirname:os.path.dirname(path):用来获取文件的路径   os.path.dirname(__file__):用来获取当前py文件的上层目录例如:当前文件所处位置为:D:/AutoTestSys/script/AutoFunction/test1.pyprint(os.path.dirname(__file__))返回的结果为: D:/AutoTestSys/script/Aut......
  • PAT Basic 1097. 矩阵行平移
    PATBasic1097.矩阵行平移1.题目描述:给定一个 \(n×n\) 的整数矩阵。对任一给定的正整数 \(k<n\),我们将矩阵的奇数行的元素整体向右依次平移\(1、……、k、1、……、k、……\)个位置,平移空出的位置用整数 \(x\) 补。你需要计算出结果矩阵的每一列元素的和。2.输入格......
  • PAT Basic 1096. 大美数
    PATBasic1096.大美数1.题目描述:若正整数 \(N\) 可以整除它的4个不同正因数之和,则称这样的正整数为“大美数”。本题就要求你判断任一给定的正整数是否是“大美数”。2.输入格式:输入在第一行中给出正整数 \(K\)(\(≤10\)),随后一行给出 \(K\) 个待检测的、不超过 \(1......
  • 二进制patch工具xdelta的使用方法
     Xdelta是一个二进制的diff工具[同时又兼具了patch功能],diff和patch是Unix世界里很有用的一对工具:我们通常将它们结合起来实现生成补丁,应用补丁的目的。如果要处理的不是文本文件,是二进制文件,我们可以使用一个专门用来处理二进制文件的工具–xdelta。      Xdelta......