2017-11-22 1 views
-3

このプログラムのループは例を用いながら、誰かが私を説明することができます...してください 例:4477,47例47とループ、4477、23または2233

while (x > 0) { 
     if (x % 10 == 4) 
      ++ cnt4; 
     else if (x % 10 == 7) 
       ++ cnt7; 
       else flag = false; 
       x /= 10; 
} 
+0

あなたはそれを実行し、変数を見てそれが何をするのを見たことがありますか? – aquinas

+0

私はしましたが、どのように動作しているのか理解できません。 –

+0

入力がx = 4477ならば、どうやって動くのでしょうか? –

答えて

0

あなたが%オペレータを読んで悩みを持っているかもしれないが。この演算子はユークリッド除算の残りの部分を計算します。インスタンス= 0と10 % 3 = 1 10 % 5について 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 
} 
+0

例をx = 47またはx = 4477とすることで、コメントを段階的に含めることでこれを私に説明できますか?してください –

+0

私はあなたが私が提供したヒントを使用して自分でそれを行うことができると確信しています – gogaz

関連する問題