對double變量進行四捨五入並保留兩位小數

一、題目描述

       請編寫一個函數float fun(double h),函數的功能是對變量h中的值保留兩位小數,並對第三位進行四捨五入(規定h中的值爲正數)。

二、分析解答

       此題主要考察浮點數的運算,涉及到浮點數的精度,寬度等知識。

       代碼如下:

#include<stdio.h>

float fun(double h){

	long temp;

	/*
	h*1000是把小數點後三位移到整數部分,+5是爲了看是否能夠進位。
	/10是保留兩位小數。然後賦值的時候會默認強轉把小數去掉了。
	返回的時候將temp/100是爲了保留兩位小數點,這時候就實現了四捨五入。
	其他的舍入方式可參考這個
	*/
	temp = (h*1000 + 5)/10; 

	return (float) temp/100;

}

int main(){


	double h;
	float result;

	scanf("%lf",&h);

	result = fun(h);

	printf("k=%.2f \n",result);

	return 0;

}

       結果如下:

       

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章