输入正整数a,b,c,输出a/b的小数形式,精确到小数后c位,a,b<=1e6,c<=100,输入包含多组数据,结束标记a=b=c=0.
样例输入 样例输出
1 6 4 Caes 1: 0.1667
0 0 0
#include <stdio.h>
int main()
{
int a, b, c, k = 0;
while(scanf("%d%d%d", &a, &b, &c)!=EOF)
{
int integer = a / b; // 获得整数部分
printf("Case %d: %d", ++k, integer);
a %= b; // 获得余数
int i = 1;
// 进行c-1次模数学拟除法求出小数点后c-1位,因为要四舍五入,所以最后一位单独处理
while(i++ < c)
{
a *= 10;
printf("%d", a / b);
a %= b;
}
a *= 10;
// 判断最后一位的下一位是否大于5,进行四舍五入
printf("%d\n", ((a % b) * 10 / b > 5) ? (a / b + 1) : (a / b));
if(0 == a && 0 == b && 0 == c) break;
}
return 0;
}
#include <stdio.h>
int main()
{
int a, b, c, k = 0;
while(scanf("%d%d%d", &a, &b, &c)!=EOF)
{
int integer = a / b; // 获得整数部分
printf("Case %d: %d", ++k, integer);
a %= b; // 获得余数
int i = 1;
// 进行c-1次模数学拟除法求出小数点后c-1位,因为要四舍五入,所以最后一位单独处理
while(i++ < c)
{
a *= 10;
printf("%d", a / b);
a %= b;
}
a *= 10;
// 判断最后一位的下一位是否大于5,进行四舍五入
printf("%d\n", ((a % b) * 10 / b > 5) ? (a / b + 1) : (a / b));
if(0 == a && 0 == b && 0 == c) break;
}
return 0;
}