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#分割习题的更多相关文章

  1. YTU 2974: C语言习题5.26--文件操作3

    2974: C语言习题5.26--文件操作3 时间限制: 1 Sec  内存限制: 128 MB 提交: 213  解决: 92 题目描述 文本文件score.dic 中存储了n名学生的信息(班级编号 ...

  2. YTU 2973: C语言习题5.25--文件操作2

    2973: C语言习题5.25--文件操作2 时间限制: 1 Sec  内存限制: 128 MB 提交: 242  解决: 105 题目描述 文本文件score.dic 中存储了n名学生的信息(班级编 ...

  3. YTU 2972: C语言习题5.24--文件操作1

    2972: C语言习题5.24--文件操作1 时间限制: 1 Sec  内存限制: 128 MB 提交: 248  解决: 94 题目描述 文本文件score.dic 中存储了n名学生的信息(班级编号 ...

  4. 算法(第四版)C# 习题题解——2.2

    写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 查找更为方便的版本见:http ...

  5. 算法(第四版)C# 习题题解——1.4

    写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 这一节内容可能会用到的库文件有 ...

  6. python习题实例(上)_update18/07/03

    用以记录python学习过程中做过的小习题~ ヾ(◍°∇°◍)ノ゙ 1.生成两个列表,分别存放将100以内的偶数&奇数 odd_number=[] even_number=[] for i i ...

  7. 算法(第四版)C# 习题题解——1.1

    写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 善用 Ctrl + F 查找题 ...

  8. TurboLinux系统管理习题一

    TurboLinux系统管理习题一 1. 使用vi编辑文本只读时,强制存盘并退出的命令是?(单选题)A :w!        B :q!       C   :wq!        D   :e!答案 ...

  9. 跟阿铭学Linux习题答案

    第一章:走进Linux 1.简述它的发展历史,列举几种代表性的发行版 Linux之前是Unix,由于Unix收费昂贵,so,Richard Stallman 发起了开发自由软件的运动,并成立了自由软件 ...

随机推荐

  1. DES加解密算法(C语言实现)

    DES加密和解密算法的实现(C语言) 主要是做个记录,害怕以后代码丢了,先放到这里了. DES再不进行介绍了,可以看上一篇的 DES 的python实现 转载请注明出处:https://www.cnb ...

  2. STM32F103C8T6-CubeMx串口收发程序详细设计与测试(2)——程序规划、代码编写及测试

    摘要:演示程序的功能:通过中断接收串口数据,在1750us时间内没有收到新的字节的话,将收到的数据原封不动地发送出去,以测试串口的完整收发流程.对使用到的函数进行了说明,阐述了各个函数的调用顺序和调用 ...

  3. 一个Java对象的内存布局

    1.对象的创建过程 class loading class linking(verification,preparation,resolution) class initializing 申请对象内存 ...

  4. [Java 开源项目]一款无需写任何代码,即可一键生成前后端代码的工具

    作者:HelloGitHub-小鱼干 JeecgBoot 是一款基于代码生成器的低代码开发平台,零代码开发.JeecgBoot 采用开发模式:Online Coding 模式-> 代码生成器模式 ...

  5. 达梦产品技术支持-DM8-数据库安装

    (该文档只适合个人环境搭建,未涉及到数据库的各种参数配置,未涉及到数据库规划,若需要企业环境搭建请咨询专业人员) 基于Windows的安装 windows下安装是图形化界面,与linux下的图形化界面 ...

  6. tomcat加载失败

    tomcat启动加载信息如下: Connected to server [2017-10-16 09:02:28,149] Artifact basic-admin:war exploded: Art ...

  7. Rust之路(1)

    [未经书面许可,严禁转载]-- 2020-10-09 -- 正式开始Rust学习之路了! 思而不学则罔,学而不思则殆.边学边练才能快速上手,让我们先来个Hello World! 但前提是有Rust环境 ...

  8. Java代码实现计算器加减乘除简易功能

    package test; import javax.swing.; import java.awt.; import java.awt.event.KeyAdapter; import java.a ...

  9. day42 Pyhton 并发编程05

    一.内容回顾 # 线程 # 正常的编程界: # 进程 # 计算机中最小的资源分配单位 # 数据隔离 # 进程可以独立存在 # 创建与销毁 还有切换 都慢 给操作系统压力大 # 线程 # 计算机中能被C ...

  10. 如何使用懒加载 - umi

    .umirc.js文件 plugins: [       dynamicImport: true,