分数化小数
题目
输入正整数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 <stdlib.h>
#include <math.h>
#include <time.h>
int main(){
int a,b,c,markint,i=0;
int mark;
while(scanf("%d %d %d",&a,&b,&c)==3){
i++;
if(a==0&&b==0&&c==0) break;
printf("Case %d: ",i);
//整数部分判断
mark=a;
markint=mark/b;
printf("%d",markint);
mark-=markint*b;
printf(".");
//小数部分判断
for(int count1=0;count1<c-1;count1++){
mark*=10;
markint=mark/b;
printf("%d",markint);
mark-=markint*b;
}
//四舍五入
mark*=10;
markint=mark/b;
mark-=markint*b;
mark*=10;
if(mark/b<5)
printf("%d",markint);
else
printf("%d",markint+1);
printf("\n");
}
}