Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 排列数字c。if elseif else/nested if only(num1应始终为最高值)_C# - Fatal编程技术网

C# 排列数字c。if elseif else/nested if only(num1应始终为最高值)

C# 排列数字c。if elseif else/nested if only(num1应始终为最高值),c#,C#,有人能帮我修一下吗?我知道的每件事都试过了。我编写了这段代码,但在运行时似乎什么都没有出现。谢谢 class Program { static void Main() { int num1, num2, num3, num4, num5; int Ahighest, b, c, d, Elowest; Console.Write("Enter number : "); num1 = int.Parse(Consol

有人能帮我修一下吗?我知道的每件事都试过了。我编写了这段代码,但在运行时似乎什么都没有出现。谢谢

class Program
{
    static void Main()
    {
        int num1, num2, num3, num4, num5;
        int Ahighest, b, c, d, Elowest;

        Console.Write("Enter number : ");
        num1 = int.Parse(Console.ReadLine());
        Console.Write("Enter number : ");
        num2 = int.Parse(Console.ReadLine());
        Console.Write("Enter number : ");
        num3 = int.Parse(Console.ReadLine());
        Console.Write("Enter number : ");
        num4 = int.Parse(Console.ReadLine());
        Console.Write("Enter number : ");
        num5 = int.Parse(Console.ReadLine());

        //highest 
        if (num1 > num2)
        {
            if (num1 > num3)
            {
                if (num1 > num4)
                {
                    if (num1 > num5)
                    {
                        Ahighest = num1;
                        //b 
                        if (num2 > num3)
                        {
                            if (num2 > num4)
                            {
                                if (num2 > num5)
                                {
                                    b = num2;
                                    }
                                    if (num3 > num2)
                                    {
                                        if (num3 > num4)
                                        {
                                            if (num3 > num5)
                                            {
                                                b = num3;
                                                if (num4 > num2)
                                                {
                                                    if (num4 > num3)
                                                    {
                                                        if (num4 > num5)
                                                        {
                                                            b = num4;
                                                            if (num5 > num2)
                                                            {
                                                                if (num5 > num3)
                                                                {
                                                                    if (num5 > num4)
                                                                    {
                                                                        b = num5;
                                                                        //c
                                                                        if (b > num2)
                                                                        {
                                                                            c = num2;
                                                                            if (b > num3)
                                                                            {
                                                                                c = num3;
                                                                                if (b > num4)
                                                                                {
                                                                                    c = num4;
                                                                                    if (b > num5)
                                                                                    {
                                                                                        c = num5;
                                                                                        //d
                                                                                        if (c > num2)
                                                                                        {
                                                                                            d = num2;
                                                                                            if (c > num3)
                                                                                            {
                                                                                                d = num3;
                                                                                                if (c > num4)
                                                                                                {
                                                                                                    d = num4;
                                                                                                    if (c > num5)
                                                                                                    {
                                                                                                        d = num5;
                                                                                                        //lowest
                                                                                                        if (d > num2)
                                                                                                        {
                                                                                                            Elowest = num2;
                                                                                                            if (d > num3)
                                                                                                            {
                                                                                                                Elowest = num3;
                                                                                                                if (d > num4)
                                                                                                                {
                                                                                                                    Elowest = num4;
                                                                                                                   if  (d > num5)
                                                                                                                    {
                                                                                                                        Elowest = num5;
                                                                                                                        Console.WriteLine(Ahighest + "," + b + "," + c + "," + d + "," + Elowest);
                                                                                                                        Console.ReadLine();
                                                                                                                    }
                                                                                                                }
                                                                                                            }
                                                                                                        }
                                                                                                    }
                                                                                                }
                                                                                            }
                                                                                        }
                                                                                    }
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

            }
        }
    }
}

您可以让框架排序,而不是每次都与其他框架进行比较:

int[] orderedNumbers = { num1, num2, num3, num4, num5 };
Array.Sort( orderedNumbers );
现在,您可以在以下位置找到最低价格:

orderedNumbers.First();
最高的是:

orderedNumbers.Last();
或者,如果数组中没有那么多项,则通过索引异常访问每个数字:

int lowest = orderedNumbers[0];
int b = orderedNumbers[1];
int c = orderedNumbers[2];
int d = orderedNumbers[3];
int highest = orderedNumbers[4]; 

在这段代码中,如果转换失败-int被设置为null而不是MinValue,这是因为int?是可为空的类型。这样做可以让我们有一个回退值,而不必冒有人实际使用它作为输入的风险

到底是什么…神圣的翻转IF语句。。你把所有的垃圾都放进去了,基本上在一个条件下你想让它做点什么…你想知道为什么它不输出什么…这个代码太嵌套了,里面住着鸟。我尝试了我所知道的一切然后是学习新东西的时候了。这叫做调试。当您在调试模式下从IDE执行应用程序时,您可以在代码执行时逐行遍历代码,并观察运行时值和行为。试试看。使用此选项可明确确定观察到的行为与预期行为的不同之处。看看发生这种情况时的变量值。尽管如此,我还是不确定为什么这个问题会让选票下降……我看不到任何合法的理由这样做。OP缺乏知识并不是否决投票的理由。
int[] nums = new int[5];

for(int i = 0; i < nums.Length; i++)
{
    Console.Write($"Enter number {i}: ");
    int tempInt;
    bool number = int.TryParse(Console.ReadLine(), out tempInt);
    nums[i] = number ? tempInt : int.MinValue;
}
Array.Sort(nums);
Console.WriteLine(string.Join(",", nums.Select(x => x == int.MinValue ? "NaN" : x.ToString()).ToArray()));
int?[] nums = new int?[5];

for(int i = 0; i < nums.Length; i++)
{
    Console.Write($"Enter number {i}: ");
    int tempInt;
    bool number = int.TryParse(Console.ReadLine(), out tempInt);
    nums[i] = number ? tempInt : null;
}
Array.Sort(nums);
    Console.WriteLine(string.Join(",", nums.Select(x => x == null ? "NaN" : x.ToString()).ToArray()));