数组的综合运用:
记录学生成绩小代码
要求:用户输出学生的人数和成绩,控制台把分数排序
首先我们要从控制台获取学生的数量和他们对应的分数,然后根据我们获取的分数开始进行排序,然后在输出。
class Program
{
static void Main(string[] args)
{
Import();
}
/// <summary>
/// 用户输入学生数量和分数并输出在控制台上面
/// </summary>
private static void Import()
{
//接受看看想要几个数字,后面排序
Console.WriteLine("想要几个数?");
int number = int.Parse(Console.ReadLine());
//声明一个数组等一下需要调用
float[] array;
array = new float[number];
//判断当前数组位置的变量
int n = 0;
//根据接受的数字来完成输出
for(int i = 1; i <= number; )
{
//接收数字·
Console.WriteLine("输入第{0}个数吧",i);
array[n] = float.Parse(Console.ReadLine());
if (array[n] > 0 && array[n] < 100)
{
i++;
n++;
}
else Console.WriteLine("错了");
}
//输出获得的字符串
for(int i = 0;i< number; i++)
{
Console.Write(array[i]+"\t");
}
//转到下一个方法
Compare(array);
}
/// <summary>
/// 根据获取的字符串来进行冒泡排序
/// </summary>
/// <param name="学生的分数"></param>
private static void Compare(float[] array)
{
for(int i = 0; i < array.Length - 1; i++)
{
for (int j = 0; j < array.Length - 1; j++)
{
if(array[j] < array[j + 1])
{
var temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
//输出冒泡的数
Output(array);
}
static void Output(float[] nums)
{
Console.WriteLine();
Console.WriteLine("他们的分数从大到小分别是:");
foreach (var num in nums)
{
Console.Write($"{num} ");
}
}
}