有人可以解释我这个程序的循环使用示例...请 例如4477,47
while (x > 0) {
if (x % 10 == 4)
++ cnt4;
else if (x % 10 == 7)
++ cnt7;
else flag = false;
x /= 10;
}
答案 0 :(得分:0)
阅读%
运营商可能会遇到麻烦。该运算符计算欧几里得分裂的其余部分。
例如10 % 5
= 0和10 % 3
= 1,因为10/3 = 3而其余为1
如果x
不是整数,则根据您的语言行为可能会有所不同(我猜C
或PHP
)
while (x > 0)
{
// will increase cnt4 by 1 if the rest of the euclidian division of x by 10 is 4
if (x % 10 == 4) ++ cnt4;
// will increase cnt7 by 1 if the rest of the euclidian division of x by 10 is 7
else if (x % 10 == 7) ++ cnt7;
// all conditions above failed
else flag = false;
x /= 10; // x = x / 10
}