我正在尝试使此循环起作用,但我无法

时间:2019-10-24 08:12:03

标签: c#

我正在尝试制作一个程序,向我展示用户输入的整数中的最大数字,我真的不明白为什么它不起作用。

public class Program
{
    public static void Main()
    {
        int i  = 0;
        int rep = int.Parse(Console.ReadLine());
        int hi = int.Parse(Console.ReadLine());
        int big = 0;
        for( i = 0; i < rep; i++)
        {
            if(hi > big)
            {
                big = hi;
            }

        }
        Console.WriteLine(big);
    }
}

2 个答案:

答案 0 :(得分:1)

如果您希望用户输入rep个整数,然后找到最大的整数,那么这可能对您有用:

public class Program
{
    public static void Main()
    {
        int rep = int.Parse(Console.ReadLine());
        int big = 0;
        for(int i = 0; i < rep; i++)
        {
            int hi = int.Parse(Console.ReadLine());
            if(hi > big)
            {
                big = hi;
            }

        }
        Console.WriteLine(big);
    }
}

假设您的输入是自然数。否则,您可能要替换

int big = 0;

使用

int big = int.MinValue;

答案 1 :(得分:0)

我修改为您的console.writeline已退出循环。但是

public class Program
{
public static void Main()
{
    int i  = 0;
    int rep = int.Parse(Console.ReadLine());
    int hi = int.Parse(Console.ReadLine());
    int big = 0;
    for( i = 0; i < rep; i++)
    {
        if(hi > big)
        {
            big = hi;
            Console.WriteLine(big);
        }

    }

}
}

但是,此代码在第一个循环中将hi的值分配给big。然后进入第二个循环,因为hi和big现在相等,所以它将不满足if(hi > big)条件。而且只会结束循环。