演算法競賽入門經典 習題2-5 分數化小數(decimal)
阿新 • • 發佈:2018-12-10
分數化小數(decimal)
輸入正整數a,b,c,輸出a/b的小數形式,精確到小數點後c位。a,b≤106,c≤100。
輸 入包含多組資料,結束標記為a=b=c=0。
樣例輸入: 1 6 4 0 0 0
樣例輸出: Case 1: 0.1667
#include <stdio.h> #include <math.h> int main () { int a, b, c, cnt = 0; while(scanf("%d%d%d", &a, &b, &c) != EOF) { if(a == 0 && b == 0 && c == 0) break; else { int i = floor((double)a/b); printf("Case %d:%d.", ++cnt, i); int j = a-i*b; for(int k = 1; k < c; k++) { i = floor(j*10/b); j = j*10-i*b; printf("%d", i); } i = floor((double)j*10/b + 0.5); printf("%d", i); printf("\n"); } } return 0; }