1 using System; 2 using System.Collections.Generic; 3 using System.Collections; 4 using System.Linq; 5 using System.Text; 6 using System.Threading.Tasks; 7 8 namespace ConsoleApplication1 9 { 10 class Program 11 { 12 struct student //结构体 13 { 14 public int xuhao; 15 public string xuehao; //学号 16 public string name; // 姓名 17 public decimal fenshu; //分数 18 19 } 20 static void Main(string[] args) 21 { 22 //添加5个学生的信息到集合中, 23 //每个学生都有:学号,姓名,成绩,3个内容 24 //添加完毕后将学生的分数从高到低排列并打印出来 25 26 //请输入第1个学生的学号:101 27 //请输入第1个学生的姓名:xxx 28 //请输入第1个学生的成绩:99 29 //------------------------(注意加个分割线) 30 //请输入第2个学生的学号:102 31 //请输入第2个学生的姓名:xxx 32 //请输入第2个学生的成绩:98 33 //....一直到第5个输入完,然后按回车 34 //第1个学生的学号:101,姓名:xxx:成绩:99 35 //第2个学生.... 36 //第3个.. 37 //每段都加个分割线 38 39 //1、循环添加学生信息 40 ArrayList list = new ArrayList(); 41 42 for (int i = 1; i < 6; i++) 43 { 44 student stu = new student(); //实例化 45 46 Console.Write("请输入第" + i + "个学生的学号:"); 47 stu.xuehao = Console.ReadLine(); 48 Console.Write("请输入第" + i + "个学生的姓名:"); 49 stu.name = Console.ReadLine(); 50 Console.Write("请输入第" + i + "个学生的成绩:"); 51 stu.fenshu = Convert.ToDecimal(Console.ReadLine()); 52 stu.xuhao = i; 53 54 list.Add(stu); 55 Console.WriteLine("==============================="); 56 } 57 58 Console.WriteLine("------------------------成绩排序--------------------------"); 59 60 //2、排序 61 62 for (int i = 0; i < list.Count - 1; i++) 63 { 64 for (int j = i + 1; j < list.Count; j++) 65 { 66 student stu1 = (student)list[i]; 67 student stu2 = (student)list[j]; 68 69 if (stu1.fenshu < stu2.fenshu) 70 { 71 Object ob = list[i]; 72 list[i] = list[j]; 73 list[j] = ob; 74 } 75 } 76 } 77 78 //3、打印 79 foreach (object o in list) 80 { 81 student ss = (student)o; 82 Console.WriteLine("第" + ss.xuhao + "个学生的学号:" + ss.xuehao + ",姓名:" + ss.name + ",分数:" + ss.fenshu + "。"); 83 } 84 85 86 87 88 Console.ReadLine(); 89 90 91 } 92 } 93 }