分数化小数(decimal)
输入正整数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>
int main()
{
int a, b, c, d, e;
scanf("%d%d%d",&a,&b,&c);
printf("%d.", a / b);
for (int i = 0; i < c - 1; i++)
{
a = a % b;
a = a * 10;
printf("%d", a / b);
}
a = a % b;
a = a * 10;
d = a / b;
a = a % b;
a = a * 10;
e = a / b;
if (e >= 5)
{
printf("%d",d+1);
}
else
{
printf("%d",d);
}
return 0;
}
二,个人感悟:一个数一个数地输入,这是最优方法,而不是一坨数一坨数地输出。