何时以及为什么我会在c ++中使用abs

时间:2016-04-29 03:00:41

标签: c++ cmath

所以,我正在查看一些开源代码,搜索一组随机数字,找到最接近0的数字。由于某种原因,它在库中使用了abs,我想知道何时何地以及在哪里我会用它。这是代码。

#include <iostream>
#include <string>
#include <vector>
#include <cmath>

using namespace std;

int main()
{
  int N; // the number of temperatures to analyse
  cin >> N; cin.ignore();

  if( N == 0 ) {
        cout << 0 << endl;
        return 0;
    }

    int bestTemp = 5527;
    for( int i = 0; i < N; i++ ) {
        int v;
        cin >> v;
        if( abs( v ) < abs( bestTemp ) ) {
            bestTemp = v;
        } else if( abs( v ) == abs( bestTemp ) && bestTemp < 0 ) {
            bestTemp = v;
        }
    }


    // Write an action using cout. DON'T FORGET THE "<< endl"
    // To debug: cerr << "Debug messages..." << endl;

    cout << bestTemp << endl;
  return 0;
}

我从codingame获得了这个代码,而我发现这个代码的用户是Bob。 P.S我很年轻,所以你能让我更容易理解,拜托并谢谢你。

1 个答案:

答案 0 :(得分:2)

abs()给出absolute value一个数字,这意味着它会使负数正。

由于abs( v )abs( bestTemp )会返回两个数字的正数版本,如果abs( v ) < abs( bestTemp )的幅度(或“接近0”)低于v,则bestTemp将为真$proxychains nvm install v6.0.0