您的位置:首页 > 编程语言 > C#

练习、C# 结构体、冒泡排序

2016-06-16 21:42 471 查看
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();

}
}
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: