演算法入門經典習題 2 5 分數化小數

2021-08-17 23:08:58 字數 622 閱讀 8088

題目:輸入正整數a,b,c,輸出 a/b 的小數形式 , 精確到小數點後 c 位 。 a,b≤10的六次方,c≤100.

輸入包含多組資料,結束標記為a = b = c = 0 .

樣例輸入:

1 6 4

0 0 0 

樣例輸出:

case 1 : 0.1667

理解:一開始就以為會是那樣的就正常想的用double來宣告一下結果,然後開始正常的相除,保留多少位輸出,但這樣是不可行的。

我們可以回歸到本質問題上來,分數化小數,我們用手工怎麼算計算機同樣也是怎麼算的。這一題是整數取整取餘的例子很明顯。最後就是要強調一下

四捨五入的問題,我們平時那樣算再說這裡也是要這樣算的。具體**如下:

#includeusing namespace std;

int main()

if(x * 10 % y * 10 / y >= 5) //第c+1位資料判斷,若大於等於5

printf("%d\n",x * 10 / y + 1); //c位需 五入

else

printf("%d\n",x * 10 / y);

} return 0 ;

}

習題2 5 分數化小數

演算法競賽入門經典 第2版 第2章 迴圈結構程式設計 本章有兩個難題 習題2 4 子串行之和,習題2 5 分數化小數。習題2 5 分數化小數 訪問量如此之大,證明讀者有需求,並且之前寫的程式有瑕疵,處理不了進製問題,故決定重寫該題 2018 8 9 9 28 以下 為ac 完全符合題意的 可以應對測...

習題 2 5 分數化小數

模擬保留小數字的過程 思路 這道題主要要注意的是小數的位數需要人工輸入,就是模擬保留小數字的過程,具體的思路是先輸出整數字和小數點,小數字則通過上一次除后的所得餘數再除除數依次類推,到最後一位時要根據下一位的數值來判斷是否進製。這裡選擇題目的樣例就是1 6,輸出至小數點後4位數,先求出他們的商,既1...

2 5 分數化小數

輸入正整數a,b,c,輸出a b的小數形式,精確到小數點後c位。a,b 10 c 100。輸入包含多組資料,結束標記為a b c 0。樣例輸入 1 6 4 0 0 0 樣例輸出 case 1 0.1667 渣渣智本以為這道題很簡單,然而。如果很多很多很多小數點後的位數怎麼辦,也就是c,然後就找了很多...