題目意思:
給小數點後兩位的12個月的工資,求出平均工資,輸出離小數點後第二位最近的兩位小數,尾部零不輸出。
解題思路:
這題一開始先除以12的話,有精度損失(比如都是12.4449999999999,結果算出來是12.45,應該是12.44),所以先模擬除以12,得到小數點後的第三位數,大於等於5第二位就進製,否則捨掉。
用a[0]表示12個月收入和的整數部分,a[1]表示第一位小數,a[2]表示第二位小數。然後模擬高精度除法,求出除以12後的第三位小數。
**:
#include#include#include#include#include#include#include#include#include#include#include#include#include#define eps 1e-6
#define inf 0x1f1f1f1f
#define pi acos(-1.0)
#define ll __int64
#define lson l,m,(rt<<1)
#define rson m+1,r,(rt<<1)|1
#pragma comment(linker, "/stack:1024000000,1024000000")
using namespace std;
//freopen("data.in","r",stdin);
//freopen("data.out","w",stdout);
int ans[4],a[3];
int main()
ans[3]=la*10/12;
if(ans[3]>=5)//進製}}
printf("$%d",ans[0]);
if(ans[1]) //去掉尾部0
else if(ans[2]) //注意.0幾
printf(".%d%d",ans[1],ans[2]);
putchar('\n');
}return 0;}/*
1.4449999
1.4449999
1.4449999
1.4449999
1.4449999
1.4449999
1.4449999
1.4449999
1.4449999
1.4449999
1.4449999
1.4449999
*/
簡單浮點數除法模擬 hdu 4493 Tutor
題目意思 給小數點後兩位的12個月的工資,求出平均工資,輸出離小數點後第二位最近的兩位小數,尾部零不輸出。解題思路 這題一開始先除以12的話,有精度損失 比如都是12.4449999999999,結果算出來是12.45,應該是12.44 所以先模擬除以12,得到小數點後的第三位數,大於等於5第二位就...
浮點數加(減)法 乘法 除法運算
ieee754標準規定了3種浮點數格式 單精度 雙精度與擴充套件精度 ieee754標準從邏輯上用三元組表示乙個數n,對於雙精度而言,其編碼格式為1位符號位,11位階碼和52位尾數 n 1 s x 2 e 1023 x 1.m 1 浮點數的加減法運算 加減法的本質相同,減法可以通過對減數的符號位取反...
簡單談談php浮點數精確運算
bc是binary calcula的縮寫。bc 函式的引數都是運算元加上乙個可選的 int scale 比如string bcadd string left operand,strin程式設計客棧g right operand int scale 如果scale沒有提供,就用bcscale的預設值。...