感謝您是否可以建議和分享如何在不使用 abs() 或回圈 (if/else) 的情況下構建 Absolute 函式,只需使用運算子 (C )
uj5u.com熱心網友回復:
template<typename N>
N abs(const N& n)
{
const N arr[2] = {n, -n};
return arr[n < 0];
}
是一種方式。它也不會傾倒管道。
uj5u.com熱心網友回復:
我可以提供您的問題的解決方案。
#include <iostream>
using namespace std;
int absolute(int number)
{
return number<0 ? -number : number;
}
int main()
{
int number;
cin>>number;
cout<<absolute(number);
return 0;
}
輸入:
-4
輸出:
4
輸入:
4
輸出:
4
uj5u.com熱心網友回復:
還有另一種使用 C 20 概念的方法:
#include <iostream>
#include <concepts>
auto abs( std::integral auto num )
{
return num < 0 ? -num : num;
}
int main( )
{
std::cout << abs( -4 ) << ' ' << abs( 12345 ) << '\n';
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/419291.html
標籤:
