using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; namespace 复习CS_冒泡排序 { class Program { /// <summary> /// 题目: /// 添加5个学生的信息到集合中, /// 每个学生都有:学号,姓名,成绩,3个内容, /// 添加完毕后将学生的分数从高到低排列并打印出来 /// </summary> struct Student { public int num; public string Code; public string Name; public decimal Score; } static void Main(string[] args) { //1、循环添加学生信息 ArrayList list = new ArrayList(); for (int i = 1; i < 4; i++) { Student s = new Student(); //实例化 Console.Write("请输入第" + i + "个学生的学号:"); s.Code = Console.ReadLine(); Console.Write("请输入第" + i + "个学生的姓名:"); s.Name = Console.ReadLine(); Console.Write("请输入第" + i + "个学生的成绩:"); s.Score = Convert.ToDecimal(Console.ReadLine()); s.num = i; list.Add(s); Console.WriteLine("==============================="); } Console.WriteLine("-----------------------学生数据展示--------------------------"); //2、排序 for (int i = 0; i < list.Count - 1; i++) { for (int j = i + 1; j < list.Count; j++) { Student s1 = (Student)list[i]; Student s2 = (Student)list[j]; if (s1.Score < s2.Score) { Object ob = list[i]; list[i] = list[j]; list[j] = ob; } } } //3、打印 foreach (object o in list) { Student ss = (Student)o; Console.WriteLine ("第" + ss.num + "个学生的学号:" + ss.Code + ",姓名:" + ss.Name + ",分数:" + ss.Score + "。"); } Console.ReadKey(); } } }
时间: 2024-10-15 14:00:06