python中保留两位小数的编写程序_P081 保留两位小数
所屬年份:2011.3;2011.9
請編一個函數 float fun(double h),該函數的功能是:使變量h中的值保留兩位小數,并對第三位進行四舍五入(規定h中的值為正數)。
例如,若h 值為1234.567,則函數返回1234.570000;若h值為 1234.564,則函數返回1234.560000。
#include
#include
#include
float fun (float h )
{
}
void main()
{
FILE *wf;
float a;
system("CLS");
printf("Enter a: ");
scanf ("%f",&a);
printf("The original data is : ");
printf("%f\n\n", a);
printf("The result : %f\n", fun(a));
/******************************/
wf=fopen("out.dat","w");
fprintf(wf,"%f",fun(8.32533));
fclose(wf);
/*****************************/
}
【解題思路】
注意:本題要求h的值真正進行四舍五入運算,而不是為了輸出,即不能用printf(“%7.2f”,h)來直接得到結果。
四舍五入算法:如果要求精確到小數點后面的第n位,則需要對第n+1位進行運算。方法是將該小數乘以10的n+1次方后加5,然后除以10并強制轉換變量類型為長整型,再將該數除以10的n次方,同時強制轉換類型為浮點型。
代碼實現如下:
long t; /*定義長整型變量t*/
t=(h*10n+1+5)/10; /*對h進行操作,得到值浮點型,t取值時取整數部分。10n+1為要擴大的倍數*/
h=(float)t/10n; /*將t縮小10n倍,并轉換成浮點型*/
【參考答案】
float fun (float h )
{
long t;
t=(h*1000+5)/10; /*單精度數h乘以1000后再加5,相當于對h中的第三位小數進行四舍五入
除以10后將其賦給一個長整型數時就把第三位小數后的數全部截去*/
return (float)t/100; /*除以100,保留2位小數*/
}
總結
以上是生活随笔為你收集整理的python中保留两位小数的编写程序_P081 保留两位小数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Springboot 常用注解
- 下一篇: python平方数迭代器_Python三