结构体练习
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结构体练习相关的知识,希望对你有一定的参考价值。
//请输入班级人数,输入每个人的学号,姓名,和语文分数、数学分数和英语分数(要求使用结构体)
//求班级里两个语文分数是最高分的学生的所有信息;数学分数是最高分的两个学生的所有信息;英语平均分。
using System; using System.Collections.Generic; using System.Collections; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 练习 { class Program { struct xinxi { public string xh; public string name; public Score fenshu; } struct Score { public double yufen; public double shufen; public double yingfen; } static void Main(string[] args) { ArrayList al = new ArrayList(); Console.Write("请输入班级人数:"); int s = int.Parse(Console.ReadLine()); for (int i = 0; i < s; i++) { xinxi xx = new xinxi(); Console.Write("请输入第{0}个人的学号:", i + 1); xx.xh = Console.ReadLine(); Console.Write("请输入第{0}个人的姓名:", i + 1); xx.name = Console.ReadLine(); Console.Write("请输入第{0}个人的语文分数:", i + 1); xx.fenshu.yufen = int.Parse(Console.ReadLine()); Console.Write("请输入第{0}个人的数学分数:", i + 1); xx.fenshu.shufen = int.Parse(Console.ReadLine()); Console.Write("请输入第{0}个人的英语分数:", i + 1); xx.fenshu.yingfen = int.Parse(Console.ReadLine()); al.Add(xx); } xinxi xyx = new xinxi(); xyx.xh = "000"; xyx.name = "零"; xyx.fenshu.yufen=01; xyx.fenshu.shufen=01; xyx.fenshu.yingfen=01; al.Add(xyx); Console.WriteLine("输入完毕,按回车键继续"); Console.ReadLine(); // Console.WriteLine(); Console.WriteLine("语文分数最高分的两个学生的信息是:"); for (int i = 0; i < s - 1; i += 1) { xinxi xx1 = (xinxi)al[i]; for (int j = i + 1; j < s; j += 1) { xinxi xx2 = (xinxi)al[j]; if (xx1.fenshu.yufen < xx2.fenshu.yufen) { al[s] = al[i]; al[i] = al[j]; al[j] = al[s]; } } } for (int i = 0; i <= 1; i++) { xinxi xxx = (xinxi)al[i]; Console.WriteLine("学号{0},姓名{1},语文{2}分,数学{3}分,英语{4}分。", xxx.xh, xxx.name, xxx.fenshu.yufen, xxx.fenshu.shufen, xxx.fenshu.yingfen); } // Console.WriteLine(); Console.WriteLine("数学分数最高分的两个学生的信息是:"); for (int i = 0; i < s - 1; i += 1) { xinxi xx1 = (xinxi)al[i]; for (int j = i + 1; j < s; j += 1) { xinxi xx2 = (xinxi)al[j]; if (xx1.fenshu.shufen < xx2.fenshu.shufen) { al[s] = al[i]; al[i] = al[j]; al[j] = al[s]; } } } for (int i = 0; i <= 1; i++) { xinxi xxx = (xinxi)al[i]; Console.WriteLine("学号{0},姓名{1},语文{2}分,数学{3}分,英语{4}分。", xxx.xh, xxx.name, xxx.fenshu.yufen, xxx.fenshu.shufen, xxx.fenshu.yingfen); } // Console.WriteLine(); double sum = 0; for (int i = 0; i < s;i++ ) { xinxi yysum=(xinxi)al[i]; sum += yysum.fenshu.yingfen; } double avg = sum / s; Console.WriteLine("英语平均分为:"+avg); Console.ReadLine(); } } }
以上是关于结构体练习的主要内容,如果未能解决你的问题,请参考以下文章