藍橋杯-演算法訓練-sign函式(java)
阿新 • • 發佈:2019-02-01
問題描述 給定實數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是零 }
程式如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
double x=sc.nextDouble();
if(x<0) {
System.out.println("-1");
}
if(x==0) {
System.out.println("0");
}
if(x>0) {
System.out.println("1");
}
}
}