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

时间:2021-08-18 00:15:02

分数化小数

输入正整数a,b,c,输出a/b的小数形式,精确到小数点后c位.a,b<=10^6,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;
int cas=0;
while(scanf("%d%d%d", &a, &b, &c))
{
if(a==0&&b==0&&c==0) break;
int x = floor((double)a / b);
int i,s;
printf("Case %d: %d.", ++cas,x);//输出整数部分
for ( i = 1; i < c; i++)
{
a = a * 10;
s = floor((double)a/b);
printf("%d", s%10);
a = a%b;
}
a = a * 10;
s = floor((double)a / b + 0.5);
printf("%d", s);
printf("\n");
}
return 0;
}