PAT (Basic Level) 1004 成绩排名 (20 分)
发布日期:2021-05-04 01:05:21
浏览次数:25
分类:技术文章
本文共 2095 字,大约阅读时间需要 6 分钟。
1.题目描述
读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。
输入格式: 每个测试输入包含 1 个测试用例,格式为
第 1 行:正整数 n 第 2 行:第 1 个学生的姓名 学号 成绩 第 3 行:第 2 个学生的姓名 学号 成绩 第 n+1 行:第 n 个学生的姓名 学号 成绩 其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。输出格式: 对每个测试用例输出 2 行,第 1 行是成绩最高学生的姓名和学号,第 2 行是成绩最低学生的姓名和学号,字符串间有 1 空格。
2.思路解析
就是对字符串的操作,用Split函数分割输入的字符串,然后遍历比较即可。
3.代码
static void Main(string[] args) { int max = -1; int min = 101; string s = Console.ReadLine(); int n = int.Parse(s); // str1用来当前最大最小成绩的对应信息 string[] str1 = new string[2]; for (int i = 0; i < n; i++) { s = Console.ReadLine(); // 用Split函数将获取的学生信息切割 string[] str = Split(s, ' '); str1[0] = max < int.Parse(str[2]) ? (str[0] + " " + str[1]) : str1[0]; max = max < int.Parse(str[2]) ? int.Parse(str[2]) : max; str1[1] = min > int.Parse(str[2]) ? (str[0] + " " + str[1]) : str1[1]; min = min > int.Parse(str[2]) ? int.Parse(str[2]) : min; } foreach (var item in str1) { Console.WriteLine(item); } Console.ReadKey(); }
其中最关键的是Split函数,所以重写了Split函数:
public static string[] Split(string s,char c) { // 因为不知道string[]数组的长度是多少,所以先将数据存入list集合中 Listlist = new List (); // flag用来记录本段字符起始位置 int flag = 0; for (int i = 0; i < s.Length; i++) { if (s[i] == c ) { if(s[i - 1] != c) list.Add(s.Substring(flag, i - flag)); flag = i + 1; }else if(i == s.Length - 1) { list.Add(s.Substring(flag, i - flag + 1)); } } string[] str = new string[list.Count]; for (int i = 0; i < list.Count; i++) { str[i] = list[i]; } return str; }
转载地址:https://blog.csdn.net/weixin_45027619/article/details/116166924 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月22日 02时25分04秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
spring boot 与 Ant Design of Vue 实现删除用户(三十)
2019-04-27
Druid连接池实现自定义场景的多数据库的连接
2019-04-27
CentOs7命令行(静默)的方式安装oracle数据库
2019-04-27
基于VMware安装CentOs7的镜像
2019-04-27
PL/SQL数据库管理工具的使用
2019-04-27
史上最简单的spring-boot集成websocket的实现方式
2019-04-27
带你玩转属于自己的spring-boot-starter系列(一)
2019-04-27
带你玩转属于自己自己的spring-boot-starter系列(二)
2019-04-27
带你玩转属于自己的spring-boot-starter系列(三)
2019-04-27
基于SnowFlake算法如何让分库分表中不同的ID落在同一个库的算法的实现
2019-04-27
Linux文件管理参考
2019-04-27
FTP文件管理项目(本地云)项目日报(一)
2019-04-27
FTP文件管理项目(本地云)项目日报(二)
2019-04-27
FTP文件管理项目(本地云)项目日报(三)
2019-04-27