-1
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SkihopperOpgave
{
class Program
{
    static void Main(string[] args)
    {
        string deltagerNavn = " ";
        int hopLængde = 0;
        string[] deltager = new string[5];
        int[] hopLængder = new int[5];
        string[] pladsNumre = new string[5] { "1. ", "2. ", "3. ", "4. ", "5. " };

        for (int i = 0; i < deltager.Length; i++)
        {
            Console.Write("Indtast deltagernavn: ");
            deltager[i] = Console.ReadLine();

            Console.Write("Indtast hoplængde for deltager: ");
            hopLængder[i] = Convert.ToInt32(Console.ReadLine());


            for (int j = hopLængder.Length-1; j>0; j--) //Bubblesort
            {
                for (int k = 0; k < j; k++)
                {
                    int b = hopLængder[k];
                    hopLængder[k] = hopLængder[k+1];
                    hopLængder[k+1] = b;
                }
            }
            for (int s = 0; s < deltager.Length; s++)
            {
                Console.WriteLine(pladsNumre[s] + hopLængder[s] + deltager[s]);
            }


        }

    }
}
}

我正在尝试创建一个程序,通过对跳跃距离(hoplængde)进行排序,打印出滑雪者的排序列表(deltagere)。发生的情况是用户首先输入跳台滑雪者的名字,然后输入跳跃距离。然后程序应该以这种格式打印出一个排序列表:1. 80 John (Newline) 2. 45 Mark... 等等。

每次用户输入滑雪跳线时,应打印列表,所有距离按降序排序。我已经为跳台滑雪者的名称及其距离创建了一个数组,但是我在如何将int数组中的第一个元素与字符串数组中的第一个元素连接起来以及如何在每次迭代中正确排序时遇到了麻烦. 我尝试为这项工作创建一个冒泡排序,但我得到了错误的结果。

4

1 回答 1

1

看看静态方法 Array.Sort() 的重载——它可以做你想做的事。

您还应该阅读有关 SortedList<> 类的信息 - 它可能是您的任务的更好选择,并使用已发布的评论(由 Fischerman)来声明实体类。

我认为这对家庭作业来说已经足够了=)

于 2013-03-01T13:25:02.600 回答