白書之路 分數化小數 高精度小數運算

2021-07-04 20:34:37 字數 666 閱讀 2155

2-5:分數化小數

輸入和正整數a,b,c,輸出a/b的小數形式,精確到小數點後c位。a,b<=10^6,c<=100,輸入包含多組資料,結束標記為a=b=c=0。

樣例輸入:

1 6 4

0 0 0

樣例輸出

case 1: 0.1667

高精度小數運算,注意小數的運算原理,模擬手算,關鍵是最後的進製要回傳給整數部分,使用陣列儲存小數部分。

#include #include using namespace std;

int get_dec(int a,int b,int c,int *dec)

if(dec[c]>=5)//如果最後一位發生進製

}return carry;//返回最終的進製

}int main()

{ int a,b,c;

int int,i;

int dec[110];

int cas=0;

while(~scanf("%d%d%d",&a,&b,&c)&&(a||b||c))

{int=a/b;

printf("case %d: %d",++cas,int+get_dec(a%b,b,c,dec));

if(c)

printf(".");

for(i=0; i

劃分數 白書

1 include 2 include 3 4using namespace std 5 有關計數問題的dp6 有n個無區別的物品,劃分成不超過m組,求方法數取模m的餘數78 const int max n 1000 2 9 const int max m 1000 2 10 const int m...

分數化小數

兩個整數相除,將結果用字串返回。如果是迴圈小數,將迴圈的位用括號括起來。函式原型為 void div const int a,const int b,char str 輸入 1 3 輸出 0.3 整數相除.cpp include includeusing namespace std const in...

分數化小數

進入研一以來,折騰了一整個學期,既沒好好學習,也沒有別的收穫,前途規劃更是白紙一張。在科大還有3個多月的時間,索性就逼迫自己下,把之前欠下的東西都補上,也不枉來這一年。最近開始重新學習演算法,主要有 演算法競賽入門經典 演算法競賽訓練指南 演算法導論 三本書,注重圖論部分和coding能力,但時間上...