1 /*
2 分数化小数(decimal) 白书习题 2-5
3 输入正整数 a , b , c , 输出 a/b 的小数形式,精确到小数点后 c 位 .a,b<=10^6 , c <= 100.
4 输入包含多组数据,结束标志为 a = b = c = 0 ;
5 */
6 #include<stdio.h>
7 int main()
8 {
9 int a,b,c,y; //y用来存储 a/b 的余数
10 while(scanf("%d%d%d",&a,&b,&c) != EOF)
11 {
12 if (a==0 && b==0 && c==0)
13 return 0;
14 else
15 {
16 int i;
17 printf("%d.",a/b);
18 y = a % b;
19 for(i=1;i<c;i++)
20 {
21 /* 有没有一种做小学除法的感觉*/
22 y *= 10;
23 printf("%d",y/b);
24 y = y % b;
25 }
26 /*最后一位四舍五入*/
27 if(y*10/b >= 5)
28 printf("%d",y*10/b+1);
29 else
30 printf("%d",y*10/b);
31 printf("\n");
32 }
33 }
34 return 0;
35 }