首页 > 代码库 > 分数化小数(decimal) 白书习题 2-5

分数化小数(decimal) 白书习题 2-5

 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         else15         {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 } 

 

分数化小数(decimal) 白书习题 2-5