List<Student> stus = new List<Student> ();
while (true) {
Student stu = new Student ();
Console.WriteLine ("请输入学号:");
stu.no = int.Parse (Console.ReadLine ());
Console.WriteLine ("请输入姓名:");
stu.name = Console.ReadLine ();
Console.WriteLine ("请输入成绩:");
stu.score = float.Parse (Console.ReadLine());
//将录入的stu对象放入list中
stus.Add (stu);
Console.WriteLine ("按空格键结束");
ConsoleKeyInfo key = Console.ReadKey ();
if (key.Key == ConsoleKey.Spacebar) {
break;
}
}
//排序
stus.Sort ();
// for (int i = 0; i < stus.Count-1; i++) {
// for (int j = 0; j < stus.Count-1-i; j++) {
// if(stus[j].score>stus[j+1].score){
// Student temp = stus [j];
// stus [j] = stus [j + 1];
// stus [j + 1] = temp;
// }
// }
// }
foreach (var item in stus) {
Console.WriteLine ("学号:"+item.no+" 姓名:"+item.name +" 成绩:"+item.score);
while (true) {
Student stu = new Student ();
Console.WriteLine ("请输入学号:");
stu.no = int.Parse (Console.ReadLine ());
Console.WriteLine ("请输入姓名:");
stu.name = Console.ReadLine ();
Console.WriteLine ("请输入成绩:");
stu.score = float.Parse (Console.ReadLine());
//将录入的stu对象放入list中
stus.Add (stu);
Console.WriteLine ("按空格键结束");
ConsoleKeyInfo key = Console.ReadKey ();
if (key.Key == ConsoleKey.Spacebar) {
break;
}
}
//排序
stus.Sort ();
// for (int i = 0; i < stus.Count-1; i++) {
// for (int j = 0; j < stus.Count-1-i; j++) {
// if(stus[j].score>stus[j+1].score){
// Student temp = stus [j];
// stus [j] = stus [j + 1];
// stus [j + 1] = temp;
// }
// }
// }
foreach (var item in stus) {
Console.WriteLine ("学号:"+item.no+" 姓名:"+item.name +" 成绩:"+item.score);
}
public class Student:IComparable
{
public int CompareTo (object obj)
{
Student temp = obj as Student;
Console.WriteLine ("比较:"+this.score.CompareTo (temp.score));
return this.score >= temp.score ? -1 : 1;
}
public int no;
public string name;
public float score;
public Student ()
{
}
}