題目:輸入正整數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,然後就找了很多...