C# 我试图让这个循环工作,但我可以';T
我试图制作一个程序来显示用户输入整数的最大值,我真的不明白为什么它不起作用C# 我试图让这个循环工作,但我可以';T,c#,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
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);
}
}
公共类程序
{
公共静态void Main()
{
int i=0;
int rep=int.Parse(Console.ReadLine());
int hi=int.Parse(Console.ReadLine());
int大=0;
对于(i=0;i大)
{
大=高;
}
}
控制台。WriteLine(大);
}
}
如果您希望用户输入rep
整数的数量,然后找到最大的整数,那么这可能适用于您:
公共类程序
{
公共静态void Main()
{
int rep=int.Parse(Console.ReadLine());
int大=0;
对于(int i=0;i大)
{
大=高;
}
}
控制台。WriteLine(大);
}
}
假设你的输入是自然数。否则,您可能需要替换
intbig=0;
与
int big=int.MinValue;
我被修改为您的控制台。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);
}
}
}
}
公共类程序
{
公共静态void Main()
{
int i=0;
int rep=int.Parse(Console.ReadLine());
int hi=int.Parse(Console.ReadLine());
int大=0;
对于(i=0;i大)
{
大=高;
控制台。WriteLine(大);
}
}
}
}
但此代码正在第一个循环中将
hi
的值分配给big
。然后进入第二个循环,现在它不会满足if(hi>big)
条件,因为hi和big现在相等。循环结束。循环看起来不错,但你只有2个数字,rep和hi。重复测试相同的数字没有任何区别。。所以你不需要一个循环,你的目标是什么?用户应该输入多少个整数?rep
是期望的整数数吗?。。。或者保留循环,读取循环中的hi
,并添加一个条件以离开循环并显示结果。如果rep
是预期的整数数,则放入int hi=int.Parse(Console.ReadLine())代码>在if子句之前的for循环中。谢谢您的回答,但是Console.WriteLine在它应该所在的位置,因为“big”是我希望在所有过程完成后显示的数字。另外,我的代码中的第一个循环不是for循环吗?还是我误解了你的评论?