public class Student : IComparable<Student>
{
public int Sid;//学号
public string Sname;//姓名
public double Subject1;//四科成绩
public double Subject2;
public double Subject3;
public double Subject4;
public double Total;//总成绩
public int CompareTo(Student other)
{
return this.Total.CompareTo(other.Total);
}
}
class Program
{
public static void Main()
{//初始化二维数组,存放五个学生的四科成绩,以及其学号和姓名
string[,] stu = new string[5, 6] { { "1", "Yao", "99", "66", "55", "77" }, { "2", "Wang", "88", "66", "55", "77" }, { "3", "Cheng", "89", "66", "100", "77" }, { "4", "Li", "68", "66", "74", "77" }, { "5", "Huang", "99", "80", "99", "77" },};
List<Student> list1 = new List<Student>();
for (int i = 0; i < stu.GetLength(0); i++)
{
Student student = new Student();
student.Sid = Convert.ToInt16(stu[i, 0]);
student.Sname=stu[i,1];
student.Subject1 = Convert.ToDouble(stu[i, 2]);
student.Subject2 = Convert.ToDouble(stu[i, 3]);
student.Subject3 = Convert.ToDouble(stu[i, 4]);
student.Subject4 = Convert.ToDouble(stu[i, 5]);
student.Total = student.Subject1+student.Subject2+student.Subject3+student.Subject4;
list1.Add(student);
}
list1.Sort();//按总成绩从小到大排序
list1.Reverse();//反序
foreach (Student s in list1)//打印输出
{
Console.WriteLine(s.Sid + "\t"+s.Sname +"\t"+ s.Subject1 + "\t" + s.Subject2 + "\t" + s.Subject3 + "\t" + s.Subject4 + "\t" + s.Total );
}
Console.Read();
}
}
温馨提示:答案为网友推荐,仅供参考