黑马程序员技术交流社区
标题:
将用户输入的成绩排序问题
[打印本页]
作者:
郭正续
时间:
2012-7-29 17:01
标题:
将用户输入的成绩排序问题
我在学排序的时候,遇见一题不会想求教各位,题目是:让用户输入班级每个学生的姓名和成绩,并按照成
绩由高到低排序。在接收用户输入内容时,我不知道该定义一个什么类型变量去接收。有位大神说定义一个数组,里面包含一个string类型的变量和一个int类型变量,那么如果定义数组的话,我在排序的时候怎么把成绩挑出来?这样做的话,排序以后成绩和名字也对不上号啊?
求各位老师同学教我啊
作者:
许庭洲
时间:
2012-7-30 14:35
using System;
using System.Collections.Generic;
using System.Text;
namespace shiyan
{
struct Student
{
public long num;
public string name;
public Double scs;
}
class Program
{
static void Main(string[] args)
{
int j, k;
string str;
Console.Write("请输入学生人数:");
str = Console.ReadLine();
j = int.Parse(str);
Student[] stu1;
stu1 = new Student[j];
for (k = 0; k < j; k++)//给二维数组赋初值
{
Console.Write("请输入第{0}位同学的姓名:", k + 1);
str = Console.ReadLine();
stu1[k].name = str;
Console.Write("请输入第{0}位同学的总成绩:", k + 1);
str = Console.ReadLine();
stu1[k].scs = double.Parse(str);
}
for (int i = 0; i < stu1.Length; i++)//冒泡法排序
{
for (int h = i; h < stu1.Length;h++)
{
if (stu1[i].scs > stu1[h].scs)
{
Student temp = stu1[i];
stu1[i] = stu1[h];
stu1[h] = temp;
}
}
}
foreach (Student temp in stu1)
{
Console.WriteLine("姓名:{1},总成绩:{2}", temp.name, temp.scs);
}
Console.ReadLine();
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2