文章目录

  • 题目描述
  • 思路解析
  • C++实现
  • Python实现

题目描述

  读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。

输入格式

  每个测试输入包含 1 个测试用例,格式为

  第 1 行:正整数 n
  第 2 行:第 1 个学生的姓名 学号 成绩
  第 3 行:第 2 个学生的姓名 学号 成绩
   … … …
  第 n+1 行:第 n 个学生的姓名 学号 成绩
  其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。

输出格式

  对每个测试用例输出 2 行,第 1 行是成绩最高学生的姓名和学号,第 2 行是成绩最低学生的姓名和学号,字符串间有 1 空格。

输入样例

3
Joe Math990112 89
Mike CS991301 100
Mary EE990830 95

输出样例

Mike CS991301
Joe Math990112

思路解析

  就是将姓名、学号、和成绩看作一个整体,然后依据成绩排序就可以了。

C++实现

#include<stdio.h>
#include<string.h>int main(){int n=0;scanf("%d",&n);struct student_info{char name[11];char stu_num[11];int score;};struct student_info student, max, min;scanf("%s %s %d",&student.name,&student.stu_num,&student.score);max=min=student;for(int i=1;i<n;i++){scanf("%s %s %d",&student.name,&student.stu_num,&student.score);if (student.score > max.score){max = student;}if (student.score < min.score){min = student;}}printf("%s %s \n", max.name, max.stu_num);printf("%s %s \n", min.name, min.stu_num);return 0;
}

Python实现

  在python中用类表示结构体,并且python的一切变量都是对象,变量的存储,采用了引用语义的方式,存储的只是一个变量的值所在的内存地址,而不是这个变量本身。因此需要用copy赋值。数据读入的时候是以空格为分隔符,调用split()函数。

import copy
n = int(input())class student_info:def __init__(self):self.name = ""self.stu_num = ""self.score = 0max_score = student_info()
min_score = student_info()
student = student_info()
name, stu_num, score = input().split(" ")student.name = name
student.stu_num = stu_num
student.score = int(score)max_score = copy.copy(student)
min_score = copy.copy(student)for i in range(n-1):name, stu_num, score = input().split(" ")student.name = namestudent.stu_num = stu_numstudent.score = int(score)if int(score) > max_score.score:max_score = copy.copy(student)if int(score) < min_score.score:min_score = copy.copy(student)print(max_score.name, max_score.stu_num)
print(min_score.name, min_score.stu_num)

【浙江大学PAT真题练习乙级】1004 成绩排名 (20分) 真题解析相关推荐

  1. C++学习之路 | PTA乙级—— 1004 成绩排名 (20分)(精简)

    1004 成绩排名 (20分) 读入 n(>0)名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式: 每个测试输入包含 1 个测试用例,格式为 第 1 行:正整数 ...

  2. PAT 1004 成绩排名 (20分) 犯了所有可能犯的错误

    原题 1004 成绩排名 (20分) 读入 n(>0)名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式: 每个测试输入包含 1 个测试用例,格式为 第 1 行:正 ...

  3. 1004 成绩排名 (20分)

    1004 成绩排名 (20分) 读入 n(>0)名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式: 每个测试输入包含 1 个测试用例,格式为 第 1 行:正整数 ...

  4. 浙大PAT乙级1004. 成绩排名 (20)

    1004. 成绩排名 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 读入n名学生的姓名.学号.成绩,分 ...

  5. 【PAT乙级】 1004 成绩排名 (20 分)

    https://pintia.cn/problem-sets/994805260223102976/problems/994805321640296448 方法一: 用STL 中的sort() #in ...

  6. 【PAT乙】1004 成绩排名 (20分) struct结构

    problem 读入 n(>0)名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式: 每个测试输入包含 1 个测试用例,格式为 第 1 行:正整数 n 第 2 行: ...

  7. 简便解法:1004 成绩排名 (20分)

    立志用更少的代码做更高效的表达 Pat乙级题解汇总-->传送门 读入 n(>0)名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式: 每个测试输入包含 1 个 ...

  8. 1004 成绩排名 (20 分)(c语言实现)

    读入 n(>0)名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式: 每个测试输入包含 1 个测试用例,格式为 第 1 行:正整数 n 第 2 行:第 1 个学生的 ...

  9. PAT (Basic Level) Practise (中文) 1004成绩排名(20)

    1004. 成绩排名 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 读入n名学生的姓名.学号.成绩,分 ...

  10. PAT 1004 成绩排名 (20)(代码)

    1004 成绩排名 (20)(20 分) 读入n名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式:每个测试输入包含1个测试用例,格式为\ 第1行:正整数n第2行:第1个 ...

最新文章

  1. IOS开发—Using UIGestureRecognizer with Swift Tutoria
  2. 谷歌浏览器怎么改html5,关于谷歌浏览器不支持html5中audio的autoplay解决方法(js代码解决)...
  3. win10找不到局域网Linux,技术员解惑win10系统访问不了NAS和linux网络共享的详细办法...
  4. mysql全表扫描和用索引的区别
  5. 用html设计一个logo页面_如何设计一个Logo?——Bobu Africa旅行品牌Logo设计
  6. MyBatis 接口绑定方案及多参数传递、动态 SQL、ThreadLocal、缓存
  7. 返回值 包装类_java中基本类型包装类
  8. 解决cacti创建ping主机时不出图的问题
  9. Linux学习笔记(一):Win10上用VMware虚拟机安装Linux-CentOS
  10. WSS3 Elevation of Privilege 替代 用户身份模拟Impersonate 进行权限提升
  11. 直播系统源码开发经验分享
  12. 2020年日历电子版(打印版)_2020年日历表超清晰A4打印版下载
  13. 2021上半年教资综合素质——主观题
  14. 计算机二级什么叫项目符号,项目符号
  15. 使用brew services管理服务
  16. 哈哈哈……~好敷衍的第一篇博客标题~
  17. Mac使用技巧:怎样破解iPhone 锁屏密码
  18. html中路径:点杠,点点杠的区别
  19. David P.Williams论文系列 SAS图像分辨率与目标检测性能的关系
  20. 蚂蚁金服是不是中国最好的 FinTech(金融科技)公司

热门文章

  1. 引擎设计跟踪(九.2) 3DS MAX 导出插件 继续
  2. 第一周周二一天工作总结和周三工作计划——PM(李忠)
  3. Windows服务器nginx多个二级域名部署ssl证书超详细步骤(https)
  4. 华为交换机安全端口实验
  5. Docker详解(十六)——Docker私有化仓库创建
  6. 快速排序(递归)-三路快速排序(图解)及代码
  7. git报错之fatal: protocol error: bad line length character: No This
  8. day20 python常用模块
  9. Vue.js 代码优化浅谈
  10. Linux下用Java获取本机IP