有这样的一个竞赛题:输入正整数a,b,c,输出a/b的小数形式,精确到小数点后c位,a,b<1e-6,c<=100,输入多组数据,结束标记为a=b=c=0。其知识点就是c位小数的问题,一下是代码:
#include<stdio.h>
int main()
{
int a,b,c;
int count=0;
scanf("%d%d%d",&a,&b,&c);
while(a!=0&&b!=0&&c!=0)
{
printf("Case %d : %.*f\n",++count,c,(double)a/b);//printf("Case %d : %*.*f\n",++count,c,(double)a/b);
scanf("%d%d%d",&a,&b,&c);
}
return 0;
}
第一个printf中的%.*f中的*为控制小数的位数,由决定,注释中的小数点的前面的*为控制总位数,后面为控制小数位数。
他们的决定与%d%f等一样按顺序在同样的位置给出数字。