/*使h中保留兩位小數,並對第三位進行四舍五入 如h為1234.567,則函數返回123.570000 h為123.564,則返回123.560000*/ #include <stdio.h> #include <conio.h> #include <stdlib.h> float fun(float h) { int temp=(int)(h*1000+5)/10; return (float)temp/100.0; } void main() { float a; while(scanf("%f",&a)!=EOF) { printf("%f\n",fun(a)); } }
四舍五入算法:如果要求精確到小數點后面的第n位,則需要對n+1位進行運算。
方法是將該小數乘10的n+1次方后加5,然后除10並強制轉換為整數,
再將該數除10的n次方並強制轉換為浮點數。