Enter positive integer a,b,c, the decimal from of the output a/b,to the c-decimal point.a,b<=
1
0
6
10^6
106,c<=100.The input contains multiple sets of data,the end is marked a=b=c=0.
sample input:
1 6 4
0 0 0
sample output:
Case 1:0.1667
printf("%.cf",s);//This is not going to work
First,print the integer part and then print the fractional part.
integer:
printf("case%d %d.",++kase,a/b);
fractional:
Analog hand division.
a=a%b*10;
printf("%d",a/b);//The first digit after the decimal point
Rounding
The c bit is judged by the size of the value of the c+1 bit.
The full code is as follows
#include<stdio.h>
int main()
{
int a,b,i,t;
int c;
int kase=0;
while(scanf("%d",&a)==1)
{
scanf("%d",&b);
scanf("%d",&c);
if(a==0&&b==0&&c==0)
{
break;
}
printf("case%d %d.",++kase,a/b);
a=a%b*10;
for(i=1;i<c;i++)
{
printf("%d",a/b);
a=a%b*10;
}
t=a%b*10/b;
if(t>=5){
printf("%d",a/b+1);
}
else
printf("%d",a/b);
}
return 0;
}