题解 P1421 【小玉买文具】

· · 题解

这是我发表的第二篇题解,由于新人可能没学到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;
}