在下面的代码中,我检查一个数字是否以8结尾,如果是,我跳过它。该代码正常工作;但是,我想这样做而不用硬编码每个以8结尾的数字。
for(number1 = 0; number1 <= number2; number1++){
if(number1%2 == 0){
if(number1 == 8 || number1 == 18 || number1 == 28){
continue;
}
else{
cout << " " << number1<< endl;
}
}
}
答案 0 :(得分:2)
只需使用modulo。 number1 % 10
是最后一位数(正数为十进制数)。
所以,只需检查number1 % 10 == 8
。
等效代码是:
for (number1 = 0; number1 <= number2; number1++) {
if (number1 % 2 == 0 && number1 % 10 != 8) {
cout << " " << number1 << endl;
}
}
答案 1 :(得分:0)
下面是一个在循环中打印所有不以8结尾的数字的例子。
操作x % 10
(modulus)返回最低位的值。因此,您可以将其与8进行比较,以获得结果。
#include <iostream>
int main(){
for (int i = 0; i < 20; i++){
if (i % 10 != 8){
std::cout << i << '\n';
}
}
}