分数化小时(decimal)
输入正整数a,b,c,输出a/b的小数形式,精确到小数点后c位。a,b <= 10^6,c <= 100。例如a=1,b=6,c=4时应输出0.1667。
1 #include <stdio.h>
2
3 int
4 main()
5 {
6 int a = 0;
7 int b = 0;
8 int c = 0;
9
10 double t = 0;
11
12 scanf("%d %d %d", &a, &b, &c);
13
14 t = (double)a / b;
15
16 printf("%.*lf\n", c, t);
17
18 return 0;
19 }
小数点.后“*”表示输出位数,具体的数据来自参数c。
printf格式字符串中,与宽度控制和精度控制有关的常量都可以换成变量,方法就是使用一个“*”代替那个常量,然后在后面提供变量给“*”。
同样,小数点.前也可以添加*,也要用户输入一个位宽值来代替,表示输出的字符所占位宽。
详细说明:http://www.cnblogs.com/yuaqua/archive/2011/10/21/2219856.html