我有一个程序,该程序接受3个数字(英尺,英寸,十六分之一),然后将它们乘以x
。在开始编写输出部分时,我遇到了需要:
if (sixteenths4<16) {
sixteenths5=sixteenths4;
inches6=0;
}else if (16<=sixteenths4) {
sixteenths5=sixteenths4-16;
inches6=1;
}else if (32<=sixteenths4) {
sixteenths5=sixteenths4-32;
inches6=2;
}else if (48<=sixteenths4) {
sixteenths5=sixteenths4-48;
inches6=3;
} else {
sixteenths5=sixteenths4-64;
inches6=4;
}
我意识到最后一件事是多余的,因为它永远不会发生。我的问题是,由于总数的十六分之一可能超过4-5百,因此
if else
块会很多。有一个更好的方法吗? 最佳答案
删除所有的if / else语句,并改用整数算术。
这是所有代码的等效代码:
sixteenths5 = sixteenths4 % 16;
inches6 = sixteenths4 / 16;