由於浮點數有誤差,有時候不能有誤差,所以我們可以用一個分數來記錄:
n/m
如何顯示呢,當然不能是分數啊,轉換成浮點
餘數*10繼續除就好了這樣就不會有小數點了。
下面一個例子:保留200個小數位。
#include <stdio.h>
int main(int argc, char const *argv[])
{
int n,m,i=1,b=1;
scanf("%d/%d",&n,&m);
printf("0.");
while(b){
n*=10;
int d = n/m;
n = n%m;
printf("%d", d);
if(n==0){b=0;}
i++;
if(i>200){
b=0;
}
}
return 0;
}