班级学生总成绩和平均成绩计算
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace test9 { class Program { // 班级学生总成绩和平均成绩计算: //1)让用户输入班级人数 //2)让用户依次输入该班级每个学员的姓名和成绩(0-100之间) //3)按成绩进行排序,按成绩由高到低依次输出学生的姓名和成绩 static void Main(string[] args) { //提示用户输入 Console.WriteLine("请输入班级人数:"); //定义接收总人数变量 int Zong = 0; //变量,控制输入正确后下一步 bool b = true; while (b) { //判断输入是否正确,错误抛出异常 try { Zong = Convert.ToInt32(Console.ReadLine()); b = false; } catch (Exception) { //出现异常提示重新输入 Console.WriteLine("输入错误!重新输入"); b = true; } } //定义存放成绩的数组Nums和存放名字的数组Names string[] Names = new string[Zong]; int[] Nums = new int[Zong]; //循环让用户依次输入该班级每个学员的姓名和成绩 for (int i = 0; i < Zong; i++) { Console.WriteLine("请输入第{0}个人的姓名:", i + 1); Names[i] = Console.ReadLine(); Console.WriteLine("请输入{0}的分数:", Names[i]); string N = Console.ReadLine(); //对成绩进行处理 Nums[i] = TryNum(N); } //对成绩进行排序 Nums = PaiXu(Nums,ref Names); //循环输出排序好的数组 for (int i = 0; i < Nums.Length; i++) { Console.WriteLine("第{0}名是:{1},分数:{2}",i+1,Names[i],Nums[i]); } Console.ReadKey(); } /// <summary> /// 处理用户输入的成绩 /// </summary> /// <param name="n">用户输入数据</param> /// <returns>返回正确值</returns> static int TryNum(string n) { int Num = 0; //处理用户的输入 try { //转换,出错进入异常。正确继续 Num = Convert.ToInt32(n); //判断数字是否大于0小于100 if (0 > Num || Num > 100) { //大于0小于100抛出错误 throw new Exception("大于0小于100"); } } catch (Exception e) { //异常提示 Console.WriteLine("输入错误请重新输入:"+e); //递归,继续执行 TryNum(Console.ReadLine()); } return Num; } /// <summary> /// 冒泡排序 /// </summary> /// <param name="array">分数数组</param> /// <param name="names">姓名数组</param> /// <returns>排序后的数组</returns> static int[] PaiXu(int[] array,ref string[] names) { int length = array.Length - 1; bool isExchanged = false; for (int i = 0; i < length; i++) { isExchanged = false; for (int j = length; j > i; j--) { if (array[j] > array[j - 1]) { int temp = array[j]; array[j] = array[j - 1]; array[j - 1] = temp; string t = names[j]; names[j] = names[j - 1]; names[j - 1] = t; isExchanged = true; } } if (!isExchanged)//一遍比较过后如果没有进行交换则退出循环 break; } return array; } } }
[url=http://www.iliangdian.com]恩施门户网:城市亮点网[/url]