C#控制台应用程序,用于查找小值和大值

时间:2013-10-01 09:42:27

标签: c#

我是编程的新手,我想编写一个C#控制台应用程序,其中用户输入至少四个或更多数字(例如5,2,45) ,39 ......)和应用程序告诉较小和较大(即2 <5 <39 <45 ......或类似的东西)。

我正在尝试if / else条件,但这是为3个输入写的,超过3个输入,程序变得太长由于if / else条件。

{
        double A, B, C;

        Console.WriteLine("input Three Numbers and Press Enter after each.");
        A = Convert.ToDouble(Console.ReadLine());
        B = Convert.ToDouble(Console.ReadLine());
        C = Convert.ToDouble(Console.ReadLine());

        if (A < B && B < C)
            Console.WriteLine(A + " < " + B + " < " + C);
        else if (A < C && C < B)
            Console.WriteLine(A + " < " + C + " < " + B);
        else if (B < A && A < C)
            Console.WriteLine(B + " < " + A + " < " + C);
        else if (B < C && C < A)
            Console.WriteLine(B + " < " + C + " < " + A);
        else if (C < A && A < B)
            Console.WriteLine(C + " < " + A + " < " + B);
        else if (C < B && B < A)
            Console.WriteLine(C + " < " + B + " < " + A);
    }

4 个答案:

答案 0 :(得分:1)

在c#中,您可以使用sort方法对数组进行排序。 Array.Sort命令数组中的元素。它处理不同类型的元素,包括字符串和整数。

int[] values = { 5, 2, 45, 39 };
Array.Sort(values);
foreach (int value in values)
{
    Console.Write(value);
    Console.Write('<');
}

答案 1 :(得分:0)

这很容易。如果您使用列表作为值,则可以使用列表的最小值和最大值&lt;&gt;。

        List<int> intList = new List<int>();
        intList.Add(1);
        intList.Add(-1);
        intList.Add(3);
        intList.Add(7);
        intList.Add(4);
        int minValue = intList.Min();
        int maxValue = intList.Max();

如果您正在使用数组,那么您还可以使用以下扩展方法:

        int[] intArray = new int[] { 1, -1, 3, 7, 4 };
        int minValue = intArray.Min();
        int maxValue = intArray.Min();

请记住添加使用System.Linq;

答案 2 :(得分:0)

根据我对该问题的理解,您尝试解决的程序可以通过应用其中一种排序算法(http://en.wikipedia.org/wiki/Sorting_algorithm)来解决。

有几种方法可以解决这个特殊问题,例如冒泡排序(http://en.wikipedia.org/wiki/Bubble_sort),堆排序(http://en.wikipedia.org/wiki/Heapsort)等。

我建议您在完成解决方案之前先浏览上面列出的所有算法并进行深入研究。

由于您不熟悉编程,将上述算法应用于您自己的程序将有助于您学习很多东西。

顺便说一句,C#提供了一个名为 Array.Sort(数字)的自动预定义函数,用于排序。

答案 3 :(得分:0)

我已经在你的帮助下解决了这个问题。谢谢大家。

{
        double A, B, C, D;
        Console.WriteLine("input Four Numbers and Press Enter after each.");
        A = Convert.ToDouble(Console.ReadLine());
        B = Convert.ToDouble(Console.ReadLine());
        C = Convert.ToDouble(Console.ReadLine());
        D = Convert.ToDouble(Console.ReadLine());

        double[] values = { A, B, C, D };
        Array.Sort(values);
        int count = 1;
        foreach (double value in values)
        {
            Console.Write(value + " ");
            if (count != values.Length)
            {
                Console.Write("< ");
            }
            count++;
        }