条件性中的游戏任务C#



三个朋友想出了一个游戏,在课间休息时玩得很开心。其中一个说一个三位数,其他人用它来形成一个数学表达式,方法是在该数字的位数之间使用运算符求和和和相乘。

获胜者是第一个根据上述规则得出最大数字的人。

编写一个程序"game",打印出最大的数字。

输入从标准输入读取

输入的第一行将是正的三位数N。输出在标准输出上打印

结果应该是计算出的最大数字。

示例:

185
41
111
3

我只能得到7/10的答案。我无法涵盖这里的每一个场景。我写了10多个"如果"来反对我的判决,但仍然无法涵盖所有案件。请在这里帮忙。

enter code here
static void Main(string[] args)
{
int N = int.Parse(Console.ReadLine());
//Console.WriteLine(N);
int X = N % 10;
int Y = ((N / 10) % 10);
int Z = ((N / 100) % 10);
int sum = 0;
//Console.WriteLine(X);
//Console.WriteLine(Y);
//Console.WriteLine(Z);
if (X == 0 && Y == 0 && Z == 0)
{
sum = 0;
//  Console.WriteLine(sum);
if (X == 0 && Y == 0)
{
sum = Z;
// Console.WriteLine(sum);
}
if (Y == 0 && Z == 0)
{
sum = X;
// Console.WriteLine(sum);
}
if (Z == 0 && X == 0)
{
sum = Y;
// Console.WriteLine(sum);
}
if (X == 1 && Y == 1)
{
sum = Z + X + Y;
// Console.WriteLine(sum);
}
if (Y == 1 && Z == 1)
{
sum = Z + X + Y;
// Console.WriteLine(sum);
}
if (Z == 1 && X == 1)
{
sum = Z + X + Y;
// Console.WriteLine(sum);
}
if (X == 1 && Y == 0)
{
sum = X + Z;
}
if (X == 0 && Y == 1)
{
sum = Z + Y;
}
if (X == 1 && Z == 0)
{
sum = X + Y;
}
if (X == 0 && Z == 1)
{
sum = Z + Y;
}
if (Y == 0 && Z == 1)
{
sum = Z + X;
}
if (Y == 1 && Z == 0)
{
sum = Y + X;
}

}
else if (X == 1 && Y == 1 && Z == 1)
{
sum = X + Y + Z;
}
else if (X == 1 || X == 0)
{
sum = (Y * Z) + X;
}
else if (Y == 1 || Y == 0)
{
sum = (X * Z) + Y;
}
else if (Z == 1 || Z == 0)
{
sum = (X * Y) + Z;
}
else
{
sum = X * Y * Z;
}
Console.WriteLine(sum);
}

}

我解决了它!我使用了我的Java代码并将其转换为C#。

enter code here
static void Main(string[] args)
{
int N = int.Parse(Console.ReadLine());
//Console.WriteLine(N);
int a = N % 10;
int b = ((N / 10) % 10);
int c = ((N / 100) % 10);
int sum = 0;
//Console.WriteLine(X);
//Console.WriteLine(Y);
//Console.WriteLine(Z);
if ((a > 1) && (b > 1) && (c > 1))
{
Console.WriteLine(a * b * c);
}
if ((a == 0) && ((b <= 1) || (c <= 1)))
{
Console.WriteLine(b + c);
}
if ((a == 0) && ((b > 1) && (c > 1)))
{
Console.WriteLine(b * c);
}
if ((a == 1) && (b > 1) && (c > 1))
{
Console.WriteLine(a + b * c);
}
if ((a == 1) && ((b <= 1) || (c <= 1)))
{
Console.WriteLine(a + b + c);
}
if ((a > 1) && ((b <= 1) && (c <= 1)))
{
Console.WriteLine(a + b + c);
}
if ((a > 1) && (b == 1) && (c > 1))
{
Console.WriteLine(a * b * c);
}
if ((a > 1) && (b == 0) && (c > 1))
{
Console.WriteLine(a + b + c);
}
if ((a > 1) && (b > 1) && (c <= 1))
{
Console.WriteLine(a * b + c);
}

}
}

最新更新