zoukankan      html  css  js  c++  java
  • 数数

    Description

    输入一些数,将这些数保留小数点后5位输出。

    Input

    数整数部分的长度和小数部分的长度均小于等于8。保证输入没有前导0。

    多组测试,处理到文件末尾。

    Output

    输出保留小数点后五位的数。

    Sample Input 1

    0.123456
    2

    Sample Output 1

    0.12345
    2.00000

    解题过程:

    对于这道题,本来以为是道特别简单的送分题,直接输出%.5f就行,但是似乎和我想象的不太一样,在本地运行的时候已经自动进行了四舍五入,这是我的最初步思路。然后就想到-0.000005来控制四舍五入的问题,然后两个样例都过了,然后自信提交,但是很遗憾,依旧是WA,我就随机是输入了几组书,发现1的时候输出错误,0.99999。找到了不对的地方,于是又要进行修改,这次一种想法突然出现到我的脑海里,扩大再缩小,于是我int 定义一个数,让它等于输入数的100000倍,这样利用int的性质把五位后数的情况就给处理掉了,然后再用double 将int的数除100000,就解决了这个问题,然后提交,很遗憾,依旧WA,

    这时我仔细看了看题,发现数的范围在做乘法运算时,会超了int的范围,于是改成了long long int ,成功ac

    以下是AC代码

    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    #include<iostream>
    #include<cmath>
    using namespace std;
    int main()
    {
        double i;
        long long int t;
        while(scanf("%lf",&i)!=EOF)
        {t=i*100000;
        double s;
        s=t*1.0/100000;
            printf("%.5f
    ",s);
    
        }
        return 0;
    }
  • 相关阅读:
    JavaScript学习总结(十一)——Object类详解
    在mysql命令行下执行sql文件
    canal HA配置
    canal 常用配置
    canal 监控数据库表 快速使用
    HashMap 因子对性能的影响
    JVM 调优
    JVM jstat 详解
    Tomcat 异常关闭排查
    Mysql canal 监控数据变化
  • 原文地址:https://www.cnblogs.com/Staceyacm/p/10782125.html
Copyright © 2011-2022 走看看