C#练习题 求助

来源:百度知道 编辑:UC知道 时间:2024/07/06 12:16:02

让用户输入两个数字;判断其中1个是否大于10;然后输出结果,终止程序,如果两个数字都大于10的话就让用户重新输入。
我自己写了个
A:
Console.WriteLine("请输入X的值");
int X = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入Y的值");
int Y = Convert.ToInt32(Console.ReadLine());
while (true)
{
if (X > 10)
{
Console.WriteLine("X大于十");
goto B;
}
else if (Y > 10)
{
Console.WriteLine("Y大于十");
goto B;
}
else if (X > 10 && Y > 10)
{
Console.WriteLine("两个数字都大于10,请重新输入");
goto A;
}
}
B:

你之前是不是学vb的啊,c#是面向对象的语言,尽量别用goto这样的结构化的操作。

给你个简单的方法
if(x+y>20){
//两个都大于10
}else if(x>10){
//x大于10
}else if(y>10){
//y大于10
}else{
//x,y都小于10
}

你的题目有两个漏洞:1,没有指明都小于10如何处理;2,没有指明等于10时如何处理
-----------------
bool con=true;
while (con)
{
Console.WriteLine("请输入X的值");
int X = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入Y的值");
int Y = Convert.ToInt32(Console.ReadLine());

if( X+Y>20){
Console.WriteLine("两个数字都大于10,请重新输入");
}
else if (X > 10)
{
Console.WriteLine("X大于十");
con=false;
}
else if (Y > 10)
{
Console.WriteLine("Y大于十");
con=false;
}
else{
Console.WriteLine("两个数字都小于10,请重新输入");
}
}
Console.ReadKey();<