分數化小數

2021-07-10 11:19:45 字數 1359 閱讀 8768

#include #include 

#include

using

namespace

std;

#define max 100010

int rm[max]; //

定義整型陣列,來記錄對應與下標相等的餘數是否出現(-1表示未出現,其它表示已出現過)

char buf[max]; //

定義字元陣列

char dev[max]; //

定義字元陣列,存小數部分

int counter; //

初始化為0

int main(void

)

if(rm[m] != -1) //

rm[m]不等於-1時,即餘數m已經出現過一次了

rm[m] =i;

m *= 10; //

每次餘數乘10為下一次除法做準備

dev[counter++] = m / n + '

0'; //

對應整除部分並轉換為對應的字元

m = m % n; //

m存餘數

}

for(i = 0; i76) //

buf中的每76個字元作為一行輸出

memset(rm, -1, sizeof(rm)); //

將rm的全部陣列元素都設定成-1

memset(buf, '

\0', sizeof(buf)); //

將buf的全部陣列元素都設定成空字元

memset(dev, '

\0', sizeof(dev)); //

將rm的全部陣列元素都設定成空字元

counter=0; //

重新賦值為0

cin>>m>>n; //

重新輸入分子和分母

方法(2)

#include#include

#include

int flag[100002],ans[100010

];int

main()

if(num==1)printf("0"

);

for(i=1;i)

printf("%d

",ans[i]);

len++;

}if(n)printf(")"

); printf("\n

");return0;

}

分數化小數

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

分數化小數

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

分數化小數

描述 輸入正整數a,b,c,輸出a b的小數形式,精確到小數點後c位 注意最後一位的四捨五入問題 2 a,b,c 1000。注意本題小數保留範圍 輸入第1行是乙個整數n,表示隨後有n組資料。每組資料佔一行,輸入正整數a,b,c 2 a,b,c 1000 用空格隔開。輸出對每組資料,計算並輸出a b的...