重写了程序:
#include<stdio.h>
int main()
{ int a,b,c,i,n=0,k[30];
scanf("%d%d%d",&a,&b,&c);
do
{ printf("Case %d: ",++n);
for(i=0; i<=c; i++)
{ k[i]=a/b;
a=a%b*10;
}
if(a/b>4)k[c]++;
for(i=c; i>0&&k[i]>9; k[i]++)k[i--]-=10;
for(i=0; i<=c; i++)
{ if(i==1)putchar('.');
printf("%d",k[i]);
}
putchar('\n');
scanf("%d%d%d",&a,&b,&c);
}
while(a||b||c);
return 0;
}
本回答被提问者和网友采纳(可选)后随整数或 * 或两者皆无的 . 指示转换的精度。在使用 * 的情况下,精度由额外的 int 类型参数指定。若此参数的值为负数,则它被忽略。若既不使用数字亦不使用 * ,则精度采用零。
https://zh.cppreference.com/w/c/io/fprintf