四捨五入與四捨六入五留雙區別 51nod價錢統計

2021-09-10 10:07:54 字數 1019 閱讀 6877

在c++題目中有時會遇到這樣的問題,題目讓你進行四捨五入,比如說4.55,那麼我們用printf只能輸出4.5,而不能輸出,而直接用cout會輸出4.55,也不會出現4.6我們想要的結果,無論是用printf還是setpricision,都不行,現在我們有兩種方法,題目如下

夏天到了,超市裡擺滿了各種各樣的應季水果。現在知道:西瓜的價錢是每斤 1.2 元;桃子的**是每斤 3.5 元;葡萄的**是每斤 4.5 元;蘋果的價錢是每斤 5 元。現在分別給出上述四種所購買的斤數(均不超過 20),請你編寫程式幫助售貨員阿姨計算並依次輸出顧客購買四種水果需要的錢數及總錢數。

收起

輸入只有一行,包含四個符合題目要求的非負實數,依次表示需要購買西瓜、桃子、葡萄和蘋果的斤數。兩兩之間用乙個空格分隔。

輸入的實數至多有1位小數,(也就是,一定是0.1斤的整數倍)

輸出應有五行,每行包含乙個數,依次代表購買西瓜、桃子、葡萄、蘋果所需的錢數,以及購買四種水果所需的總錢數。

所有輸出資料均採取四捨五入保留一位小數(若小數點後為 0,也應輸出這一位 0)。

你需要考慮「四捨六入五留雙」與四捨五入之間的差別。

4 3 2.5 6
4.8

10.5

11.3

30.0

56.6

**如下:

#include

#include

#include

#include

#include

#include

using namespace std;

int main()

第二種方法不詳細寫了,他是一種可以任意進行保留小數的方法,假如f要保留n位數那麼

f=(double)((int)(f*pow(10,n)+0.5))/pow(10,n)

意思是保留幾位小數,乘十的幾次方,因為是保留小數,其下一位成了第一位小數,+0.5,如果本身大於0.5,那麼向前進一,實現了五入,而如果其小於5,那麼因為int取整,直接將小數部分抹掉。最後再除上十的n次方,就得到我們要的小數。

qt的四捨五入 Qt(C )四捨五入

qt現在是四捨六入五成雙,要想四捨五入得自己想辦法,實現如下 include include double c1 3.435 double c2 3.445 double c3 3.4351 double c4 3.4451 double c5 3.445 qdebug qdebug qdebug ...

mysql 金額 四捨五入 mysql四捨五入

雲資料庫 mysql 雲資料庫 rds for mysql 是穩定可靠 可彈性伸縮的雲資料庫服務。通過雲資料庫能夠讓您幾分鐘內完成資料庫部署。雲端完全託管,讓您專注於應用程式開發,無需為資料庫運維煩惱 低至 0.24 小時起,買1年83折 雲資料庫mysql 雲資料庫 rds for mysql 是...

四捨六入五成雙

四捨六入五成雙 對於位數很多的近似數,當有效位數確定後,其後面多餘的數字應該捨去,只保留有效數字最末一位,這種修約 捨入 規則是 四捨六入五成雙 也即 4舍6入5湊偶 這裡 四 是指 4 時捨去,六 是指 6時進上,五 指的是根據5後面的數字來定,當5後有數時,舍5入1 當5後無有效數字時,需要分兩...