zoukankan      html  css  js  c++  java
  • 分数化小数

    输入正整数 a b c ,输出 a / b 的小数形式,精确到小数点后 c 位。a ,b <=1e6 , c <= 100 。输入包含多组数据,结束标记为 a = b = c = 0 。

    样例输入

    1   6   4

    0   0   0

    样例输出

    0.1667

    使用转换说明符 *
    我们都知道可以通过%m.n来控制数据的输出范围,这里要求m和n都是字面量

    类似地,标准库也提供了通过变量来控制宽度的方法,这时我们就要使用%*.*。当使用*的时候要求通过一个int类型的参数来指定宽度,如果参数是正数则输出右对齐,如果参数是负数则输出内容左对齐,相当于添加了一个-标签。例子如下:

    int w1, w2;
    float a, b;
    scanf("%f%f", &a, &b);
    scanf("%d%d", &w1, &w2);
    printf("%*.*f", w1, w2, a / b);//此时a/b的显示宽度由w1和w2来控制

    代码如下

    #include<iostream>
    using namespace std;

    int main()
    {
        int a;            //被除数 a
        int b;            //  除数 b
        int c;            //  精度 c
        double num = 0;        //结果    
        
        while (cin>>a>>b>>c)
        {
            if (a == 0 && b == 0 && c == 0)
                break;

            num    = (double) a / b ;   //  存放
            printf("%lf ",num);        //检验
            printf("%.*lf ",c,num);    //输出  , 注意用 *  
        }
        return 0;
    }

  • 相关阅读:
    14.7.1 重新调整InnoDB系统表空间的大小
    css代码引入方式与基本选择器
    html常用标签
    python数据库操作
    pt-osc使用一则
    mysql优化一则(20170703)
    进程与生产者消费者模型
    面向对象程序设计
    常用模块
    模块与包
  • 原文地址:https://www.cnblogs.com/go-alltheway/p/13339105.html
Copyright © 2011-2022 走看看