1、问题描述
输入 正整数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
2、解决思路
模拟整数除法,反复地进行 求商 和 求余数 的运算;
3、实现源码
#include <stdio.h>
int main()
{
int a, // 被除数
b, // 商
c, // 余数
d; // 除数
int n, kcase = 0;
while(scanf("%d%d%d", &a, &d, &n) > 0 )
{
if(a == d && a == n && a == 0)
return 0;
b = a / d;
c = a % d;
printf("Case %d: %d.", ++kcase, b);
for(int i = 1; i <= n; ++i)
{
a = c * 10;
b = a / d;
c = a % d;
printf("%d", b);
}
printf("\n");
}
return 0;
}