藍橋杯 ALGO-158 演算法訓練 sign函式
問題描述
給定實數x,輸出sign(x)的值。
sign(x)是符號函式,如果x>0,則返回1;如果x=0,則返回0;如果x<0,則返回-1。
輸入格式
一行一個實數x。
輸出格式
一行一個整數表示答案。
樣例輸入
-0.0001
樣例輸出
-1
資料規模和約定
|x|<=10000,輸入資料精度最多達到4位小數。
提示
判斷實數x是否等於零時,由於計算機實數運算誤差,應當引入極小量eps,核心程式碼如下:
其中fabs為cmath中的絕對值函式。
const double eps=1e-6;
if (fabs(x) <= eps) {
//x是零
}
#include <iostream> using namespace std; int main() { double n; cin >> n; if(n > 0) cout << 1; else if(n < 0) cout << -1; else if(n == 0) cout << 0; return 0; }ofollow,noindex" target="_blank">❤❤點選這裡 -> 訂閱PAT、藍橋杯、GPLT天梯賽、LeetCode題解離線版❤❤
