在c中我们使用abs来找到绝对值,在c#中我们用于此目的是什么?

时间:2017-07-02 11:32:23

标签: c# .net

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#中获取数字的绝对值?

4 个答案:

答案 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.AbsMath是一个静态类。通常的做法是:

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函数具有不同数值类型的重载。