天天看點

對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;

}
           

       結果如下:

對double變量進行四舍五入并保留兩位小數
對double變量進行四舍五入并保留兩位小數

繼續閱讀