a248

輸入說明 :

每次輸入有三個正整數 a , b , N

1<= a , b <= 2147483647

1 <= N <= 10000

( 輸入不會超過1000筆 )

輸出說明 :

請輸出 a / b 的小數運算結果

精準到小數點後N位

第N位以後請無條件捨去

這題是模擬我們怎麼做除法,一開始先把小數點前面的部份做出來

a/b 直接做就可以了,兩個int 相除會無條件捨去

再來看你要求到小數點第幾位,就設一個作n次的迴圈,每次把餘數*10再除以除數,看會是幾倍印出來,再把剩下的餘數存起來

#include<stdio.h>

int main()
{
    int a,b,n;
    int i,cor;
    while(scanf("%d %d %d",&a,&b,&n)!=EOF)
    {
        printf("%d.",a/b);
        cor=a%b;
        for(i=0;i<n;i++)
        {
            cor*=10;
            printf("%d",cor/b);
            cor%=b;
        }
        printf("\n");
    }
    return 0;
}