练习2-1的要求如下:
像下面那样读取两个整数,然后显示前者是后者的百分之几。
题图我最终输入的代码如下
正确代码按理说,这份代码完全没有问题,但是结果却总是固定为0%。
后来查找原因,是Dev C++编译运行时,不知为何,仍然是运行先前不完善的代码。而0%正是先前问题代码的运行结果。
对策:彻底删除先前的.cpp .exe 文件,重新编译运行,一切正常。
下面是先前的问题代码
问题代码可以看到L11 是不正确的。a,b均为int型,而a/b的结果已经为0,所以 result被锁定为0.
我的解题思路:既然a/b<1,要表示为百分数,只需再乘100即可。却忽略了数据类型的运算,发现后一度想办法进行类型转换,最终却发现,远不如答案简洁。
可见,乘除虽然是同级运算,但顺序的调整,有时也会起到意想不到的作用。
后经思考,使用强制类型转换的代码如下
强制类型转换实现
网友评论