習題2 5 分數化小數

2021-07-24 22:18:56 字數 939 閱讀 8519

演算法競賽入門經典(第2版)

第2章 迴圈結構程式設計

本章有兩個難題:習題2-4 子串行之和,習題2-5 分數化小數。

習題2-5 分數化小數 訪問量如此之大,證明讀者有需求,並且之前寫的程式有瑕疵,處理不了進製問題,故決定重寫該題**。2018-8-9 9:28

以下**為ac**,完全符合題意的**,可以應對測試資料 2018-8-9 9:57

輸入:999999 10000 3

輸出:case 1: 100.000

#include

int integer,decimal[110];//integer整數部分,decimal小數部分 

int main()

if(a*10/b>=5) 

}integer+=decimal[0];//整數部分進製處理。 

printf("case %d: %d.",kase,integer);//列印整數部分及小數點

for(i=1;i<=c;i++)

printf("%d",decimal[i]);//列印小數部分。 

printf("\n");

}return 0;

}以下的**有瑕疵,應對不了測試資料:

輸入:999999 10000 3

輸出:case 1: 100.000

感悟。1、利用c或c++自帶的浮點運算,不管怎麼試,是算不出滿足題意的小數字數。

2、回歸本源,分數化小數,手工怎麼算,計算機就怎麼算。

3、本題是整數取整,取餘的好例子。

4、本題還有乙個要注意,最後一位要四捨五入。

附上**,編譯環境dev-c++4.9.9.2

#include

int main()

return 0;

}

習題 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,然後就找了很多...

演算法入門經典習題 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 理解 一開始就以為會是那樣的就正常想的用double來宣告一下結果,然後...