一、題目描述
請編寫一個函數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;
}
結果如下: