杭电OJ--2051和杭电OJ--2015

http://acm.hdu.edu.cn/showproblem.php?pid=2051

杭电OJ--2051和杭电OJ--2015_第1张图片

这道题目不难,主要的问题在输出上


杭电OJ--2051和杭电OJ--2015_第2张图片

这道题的输出结果很明显是个整数,但我用的方法中却出现double型,也正是有double,才是我在代码中不同去强制转换,而在像m=l%2和l=l%2中用int则恰好能求出想要的余数和商。这种技巧能让我们在代码中减少出现失误的可能。

再看

http://acm.hdu.edu.cn/showproblem.php?pid=2015

杭电OJ--2051和杭电OJ--2015_第3张图片

这一道,结果让我们输出一个平均数,先看我的代码


杭电OJ--2051和杭电OJ--2015_第4张图片

首先,在拿到问题的时候,我想到用不用考虑如果结果除不尽怎么办,于是我用double写了题目,在我完成之后,我进行提交,发现他说结果接近答案,我就很奇怪,然后我将题目的


杭电OJ--2051和杭电OJ--2015_第5张图片

修改成如下


杭电OJ--2051和杭电OJ--2015_第6张图片

这样就发现通过了,我再仔细看题目,发现只要n个偶数相加,除以n,得到的结果还是一个整数。

但是在double型的情况下,我仅仅在错误后修改了两个输出,就使代码通过,当然,我并不是提倡大家无论什么题目都使用double,而是在有些题目理解层面有些模糊的情况可以使用double,这样也许可以让你在发现错误后进行修正。

你可能感兴趣的:(杭电OJ--2051和杭电OJ--2015)