1 条题解

  • 0
    @ 2025-8-24 21:24:55

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar CYYC
    **

    搬运于2025-08-24 21:24:54,当前版本为作者最后更新于2017-12-21 18:54:41,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    这是我发表的第二篇题解,由于新人可能没学到double,我直接用整数int类型。

    首先,签字笔的价钱是1.9元,而班主任给了小玉a.b元。

    看到这样的题目,初学时的我是崩溃的,现在看来,其实1.9元就是19角嘛,那a.b元不*就是a*10+b角嘛(1元=10角),这样想想这道题压根没难度。

    接下来解决下一个问题:除不尽怎么办呢?比如说现在我有38角,我可以买两支笔没错,但如果我只有37角,怎么办呢?我们在小学时也碰到过这样的题,买了一支笔以后剩下18角,不够买一支笔了,那么我们要懂得舍弃,只买一支笔。

    可是这样的思想过程要如何在代码实现呢?我们来举个例子,37/19,在现实生活中这道题的得数应该是1点几,接近2,四舍五入来说应该是2,但计算机在没有特殊指令的情况下只会保留整数(用了比较浅显的语言讲,神犇们不要在意),就算是1.9999999999的现实答案,到了计算机里还是1。

    #include<cstdio>
    int main()
    {
        int a,b;//a元b角
        int c;//转换后的班主任给的价钱
        scanf("%d %d",&a,&b);
        c=a*10+b;//把a元b角转换为a*10+b角
        printf("%d",c/19);//19在这里表示19角,原来是1.9元,不过已经被转换掉了
        return 0;
    }
    
    • 1

    信息

    ID
    415
    时间
    1000ms
    内存
    125MiB
    难度
    1
    标签
    递交数
    0
    已通过
    0
    上传者