class Solution
{
static void Main(String[] args)
{
int q = Convert.ToInt32(Console.ReadLine());
for(int a0 = 0; a0 < q; a0++)
{
string[] tokens_x = Console.ReadLine().Split(' ');
int x = Convert.ToInt32(tokens_x[0]);
int y = Convert.ToInt32(tokens_x[1]);
int z = Convert.ToInt32(tokens_x[2]);
if(abs(z-x) > abs(z-y))
{
Console.WriteLine("Cat B\n");
}
else if(**
abs(z-x) < abs(z-y))
{
**
Console.WriteLine("Cat A\n");
}
else
{
Console.WriteLine("Mouse C\n");
}
}
如何在C#中获取数字的绝对值?
答案 0 :(得分:2)
Math.Abs
Math
静态类包含许多数学运算。
答案 1 :(得分:2)
您在寻找Math.Abs
吗?
...
else if (Math.Abs(z-x) < Math.Abs(z-y))) {
...
}
你可以在Math.
的帮助下摆脱恼人的using static
类前缀:
using static System.Math;
...
else if (Abs(z-x) < Abs(z-y))) {
...
}
答案 2 :(得分:1)
正如其他回答者已经指出的那样,您可能正在搜索Math.Abs。来自文档的示例:
using System;
public class Example
{
public static void Main()
{
decimal[] decimals = { Decimal.MaxValue, 12.45M, 0M, -19.69M,
Decimal.MinValue };
foreach (decimal value in decimals)
Console.WriteLine("Abs({0}) = {1}", value, Math.Abs(value));
}
}
// The example displays the following output:
// Abs(79228162514264337593543950335) = 79228162514264337593543950335
// Abs(12.45) = 12.45
// Abs(0) = 0
// Abs(-19.69) = 19.69
// Abs(-79228162514264337593543950335) = 79228162514264337593543950335
然而,由于你不知道这个并且也没有找到它,你可以自己解决这个问题而不会出现很大问题,例如:
public static decimal Absolute(decimal value) {
return (value < 0) ? -value : value;
}
答案 3 :(得分:0)
使用函数System.Math.Abs
。 Math
是一个静态类。通常的做法是:
using System;
// ...
int result = Math.Abs(z - x);
Console.WriteLine(result);
自C#6.0起,您还有using static
using System;
using static System.Math;
using static System.Console;
// ...
int result = Abs(z - x);
WriteLine(result);
说明:C#语言本身并不定义abs
- 函数。但是,.NET类库中有一个静态类System.Math
,它包含许多静态数学函数。其中Abs
函数具有不同数值类型的重载。