• 成长轨迹43 【ACM算法之路 百炼poj.grids.cn】【数值转换】【2765:八进制小数】


    题目
    http://poj.grids.cn/practice/2765

    【注意】
    %g可以自动删去末尾的0~
    而且,%g会以%f%e中较短的输出宽度输出单、双精度实数

    【wa代码】
    //一开始wa的代码。。。

    //好吧我没看到这句话wa的:
    //“……输出的小数末尾不能有0,也就是说Dm不等于0。”

    #include<stdio.h>
    #include<string.h>

    int main()
    {
    while(1)
    {
    char n[20];
    if(scanf("%s",n)==EOF)
    break;
    int len = strlen(n);
    double n10=0;
    for(int i=len-1;n[i]!='.';i--)
    {
    n10/=double(8.0);
    n10+=double(n[i]-'0');
    }
    n10/=double(8.0);// .那位少除了一次

    for(int i=0;i<len;i++)
    printf("%c",n[i]);
    switch((len-2)*3)
    {
    case 3:
    {
    printf(" [8] = %.3lf [10]\n",n10);
    break;
    }
    case 6:
    {
    printf(" [8] = %.6lf [10]\n",n10);
    break;
    }

    case 9:
    {
    printf(" [8] = %.9lf [10]\n",n10);
    break;
    }
    case 12:
    {
    printf(" [8] = %.12lf [10]\n",n10);
    break;
    }
    case 15:
    {
    printf(" [8] = %.15lf [10]\n",n10);
    break;
    }
    case 18:
    {
    printf(" [8] = %.18lf [10]\n",n10);
    break;
    }
    case 21:
    {
    printf(" [8] = %.21lf [10]\n",n10);
    break;
    }
    case 24:
    {
    printf(" [8] = %.24lf [10]\n",n10);
    break;
    }
    default:
    {
    printf(" [8] = %f [10]\n",n10);
    break;
    }
    }

    }
    return 0;
    }

    //%g可以自动删去末尾的0~
    //而且,%g会以%f%e中较短的输出宽度输出单、双精度实数
    【ac代码】

    #include<stdio.h>
    #include<string.h>


    int main()
    {
    while(1)
    {
    char n[20];
    if(scanf("%s",n)==EOF)
    break;
    int len = strlen(n);
    double n10=0;
    for(int i=len-1;n[i]!='.';i--)
    {
    n10/=double(8.0);
    n10+=double(n[i]-'0');
    }
    n10/=double(8.0);// .那位少除了一次

    for(int i=0;i<len;i++)
    printf("%c",n[i]);
    printf(" [8] = %.45g [10]\n",n10);

    }
    return 0;
    }



  • 相关阅读:
    mysql学习-变量
    车联网-商业模式思考
    数据质量-备忘录
    对话机器学习大神 Michael Jordan:解析领域中各类模型
    Python 高级编程技巧
    Python-闭包(转载)
    PEP8中文翻译
    python-子类和派生、继承
    ZooKeeper之分布式锁(Python版)
    ssh 代理详细解释
  • 原文地址:https://www.cnblogs.com/zeedmood/p/2344679.html
Copyright © 2020-2023  润新知