c#分割习题
2、从一个记录了学生成绩的文本文档,每个学生成绩是一行,每行是用 | 分割的数据,用 | 分割的域分别是姓名、年龄、成绩、年级,写程序取出各个年级成绩最高学生的成绩、年级放到集合中。
提示:
(1)使用 string[] lines=System.IO.File.ReadAllLines(@"c:/root.ini" ,Encoding.Default ); 从文本文件读取数据,返回值为 string 数组,每个元素是一行。
(2) root.ini 中数据可参考:
张三|18|90|2015
李四|19|100|2015
王小二|1|30|2015
张三三|18|90|2014
李四四|19|140|2014
王小小|18|30|2014
Hashtable h = new Hashtable(); string[] lines = System.IO.File.ReadAllLines(@"C:\Users\尘梦\Desktop\root.txt", Encoding.Default);
int[] scores = new int[lines.Length];
int[] years = new int[lines.Length];
for (int i = 0; i < lines.Length; i++)
{
string rot = lines[i];
string[] rots = rot.Split('|');
scores[i] = Convert.ToInt32(rots[2]);
years[i] = Convert.ToInt32(rots[3]); }
//想法知道怎么去写 但是从语法上 不会写了
//所以只能用这种看起来很笨的方法了
int max = scores[0];
int max1=scores[0];
int year = 0;
int year1 = 0;
int index = 0;
for (int i = 0; i < years.Length; i++)
{
if (years[i] == 2015 || years[i] != 2014)
{
year = years[i]; //2015
for (int j = 0; j < 3; j++)
{
if (scores[i] > max)
{
max = scores[i]; //100
} } }
else if (years[i] == 2014 || years[i] != 2015) {
year1 = years[i]; //2014
for (int x = 3; x < 6; x++) {
if (scores[i] > max1)
{
max1 = scores[i]; //140
} }
}
}
h.Add(year1, max1);//2014
h.Add(year, max);//2015
Console.WriteLine("2015成绩{0}",h[2015]);
Console.WriteLine("2014成绩{0}", h[2014]); Console.ReadKey();
Hashtable ht = new Hashtable();
string[] lines = System.IO.File.ReadAllLines(@"C:\Documents and Settings\Administrator\桌面\root.ini", Encoding.Default);
foreach (string l in lines) {
string[] root = l.Split('|');
if (ht.ContainsKey(root[3]))
{
string cj = ht[root[3]].ToString();
if (int.Parse(cj) < int.Parse(root[2])) { ht[root[3]] =root[2] ; } }
else { ht.Add(root[3], root[2]); } }
foreach (var item in ht.Keys) { Console.WriteLine("年级为{0},最高成绩为{1}",item,ht[item]);
}
Console.ReadKey();
c#分割习题的更多相关文章
- YTU 2974: C语言习题5.26--文件操作3
2974: C语言习题5.26--文件操作3 时间限制: 1 Sec 内存限制: 128 MB 提交: 213 解决: 92 题目描述 文本文件score.dic 中存储了n名学生的信息(班级编号 ...
- YTU 2973: C语言习题5.25--文件操作2
2973: C语言习题5.25--文件操作2 时间限制: 1 Sec 内存限制: 128 MB 提交: 242 解决: 105 题目描述 文本文件score.dic 中存储了n名学生的信息(班级编 ...
- YTU 2972: C语言习题5.24--文件操作1
2972: C语言习题5.24--文件操作1 时间限制: 1 Sec 内存限制: 128 MB 提交: 248 解决: 94 题目描述 文本文件score.dic 中存储了n名学生的信息(班级编号 ...
- 算法(第四版)C# 习题题解——2.2
写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 查找更为方便的版本见:http ...
- 算法(第四版)C# 习题题解——1.4
写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 这一节内容可能会用到的库文件有 ...
- python习题实例(上)_update18/07/03
用以记录python学习过程中做过的小习题~ ヾ(◍°∇°◍)ノ゙ 1.生成两个列表,分别存放将100以内的偶数&奇数 odd_number=[] even_number=[] for i i ...
- 算法(第四版)C# 习题题解——1.1
写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 善用 Ctrl + F 查找题 ...
- TurboLinux系统管理习题一
TurboLinux系统管理习题一 1. 使用vi编辑文本只读时,强制存盘并退出的命令是?(单选题)A :w! B :q! C :wq! D :e!答案 ...
- 跟阿铭学Linux习题答案
第一章:走进Linux 1.简述它的发展历史,列举几种代表性的发行版 Linux之前是Unix,由于Unix收费昂贵,so,Richard Stallman 发起了开发自由软件的运动,并成立了自由软件 ...
随机推荐
- 第五周:面向对象部分内容总结(5)---java设计规则
面向对象设计原则 1.开闭原则 开闭原则理解: 简单说就是一个软件实体支持扩展,不支持修改.就是在不改变源码的基础上,扩展其它的功能. 其实笔者认为,开闭原则无非就是想表达这样一层意思:用抽象构建框架 ...
- ubuntu20 make redis6
redis 官网:https://redis.io redis 下载和编译位置: cd /opt 下载 redis: wget http://download.redis.io/releases/re ...
- Angluar2 项目搭建
一 使用 Angular CLI 官方脚手架 1.安装 cli npm install -g @angular/cli 2.创建工作空间和初始应用 ng new my-app 二 tsLint 代码格 ...
- 【dos】wmic命令
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 磁盘 查看硬盘信息:wmic diskdrive 查看逻辑盘信息:wmic l ...
- MySQL的事务与锁 转
资料来源: 青山老师的mysql课程 丁奇老师的<MySQL45讲> 一.文章结构和思路 1.整体文章结构 2.大概思路 介绍数据库的特性: 数据库标准所制定的隔离级别和解决对应的一致性问 ...
- centos8平台使用lscpu查看cpu信息
一,lscpu所属的包: [root@yjweb ~]# whereis lscpu lscpu: /usr/bin/lscpu /usr/share/man/man1/lscpu.1.gz [roo ...
- Ubuntu18.04中安装virtualenv和virtualenvwrapper
1.安装virtualenv和virtualenvwrapper pip3 install virtualenv pip3 install virtualenvwrapper 2.创建目录用来存放虚拟 ...
- 第二章 rsync服务原理
一.备份 1.什么是备份? 1)把重要的数据或者文件再次复制一份并保存下来 2.为什么要做备份? 1)数据的重要性 2)为了出现故障,恢复数据 3.能不能不备份? 1)重要的数据一定要备份 2)不重要 ...
- npm install 几种不同后缀安装模式的区别
--save/--save --dev/nothing / -g 区别,及package.json基本目录结构介绍 https://www.jianshu.com/p/e10f981972ff
- MySql中varchar(10)和varchar(100)的区别
背景 许多使用MySQL的同学都会使用到varchar这个数据类型.初学者刚开始学习varchar时,一定记得varchar是个变长的类型这个知识点,所以很多初学者在设计表时,就会把varchar(X ...