1. 程式人生 > >藍橋杯-演算法訓練-sign函式(java)

藍橋杯-演算法訓練-sign函式(java)

問題描述
  給定實數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");
		}
	}
}