2-10 計算分段函數[1]


2-10 計算分段函數[1]


本題目要求計算下列分段函數f(x)的值:

輸入格式:

輸入在一行中給出實數x。

輸出格式:

在一行中按“f(x) = result”的格式輸出,其中x與result都保留一位小數。

//****注意1.關於%f與%lf:*******
//輸入時float對應%f, double對應%lf; 輸出時float和double都對應%f
#include <stdio.h>
int main(){
	float x;
	float result;
	scanf("%f", &x);
	if(x == 0){
		result = 0.0;
	}else{
		result = 1 / x;
	}
	printf("f(%.1f) = %.1f", x, result);	
	return 0;
}

注意

1、printf的%f說明符既可以輸出float型又可以輸出double型。根據“默認參數提升”規則(在printf這樣的函數的可變參數列表中,不論作用域內有沒有原型,都適用這一規則)float型會被提升為double型。因此printf()只會看到雙精度數。
2、scanf對於float類型必須用%f,double必須用%lf 對於scanf,情況就完全不同了,它接受指針,這里沒有類似的類型提升。(通過指針)向float存儲和向double存儲大不一樣,因此,scanf區別%f和%lf。
3、事實上,printf中沒有定義%lf,但是很多系統可能會接受它。要確保可移植性,就要堅持使用%f。
要想保留小數位數,請使用(比如保留8位小數):    printf("%.8f",a)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM