none
新手迴圈練習 RRS feed

  • 問題

  • 請問~  題目是1-100整數  當被3整除時顯示BIZZ   被5整除顯示BIOO   同時能被3跟5整除顯示BIZZBIOO

    輸出結果要如下:   

    1:1 

    2:2 

    3:BIZZ 

    4:4   

    5:BIOO

     一直往下

    15:BIZZBIOO   

    但是我自己的的話 到第三個條件 就跑不出來   請問要如何跳入 "同時能被3跟5整除顯示BIZZBIOO" 的迴圈判斷?  謝謝

     static void Main(string[] args)
            {
                   for (int i = 1; i <= 100; i++)
                  {
                          if (i % 3 == 0)
                    {
                        Console.WriteLine(i + ":BIZZ");                 
                   }
                         else if (i % 5 == 0)
                        {
                        Console.WriteLine(i + ":BIOO");
                        continue;
                         }
                            else if (i % 3 == 0 && i % 5 == 0)
                          {
                           Console.WriteLine(i + ":BIZZBIO");
                            continue;
                             }
                               else
                             {
                               Console.WriteLine(i + ":" + i);
                             }
                  }
                Console.ReadLine();
            }

                      

    2019年2月15日 上午 11:54

所有回覆

  • 先判斷除以 15 (也就是同時被 3 和 5 整除的) 再判斷其他。

    你如果判斷 3 或判斷 5,  15 就是個永遠達不到的判斷。


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。 https://skilltree.my/

    2019年2月15日 下午 12:21
  •  喔喔喔!!!  3q~
    2019年2月15日 下午 03:12
  • 因為先被 上面的if 給攔截了.. 所以, 就不會執行到 下面的 else if ..

    有 else 時, 它會等上面的所有的 if 都不成立時, 才會下來

    所以在設計 "只能擇其一" 時, 那 條件多的if 要放在上面. 以免被 條件少的if 先行攔截, 而永遠下不來.

    彼如在解讀取出某字串中的型號也是, 也是字多的要先試, 才不會被 字少的 先拿去配.

    如, 一個型號叫TC35I, 另一個型號叫TC35.. 那 TC35I 要先試..

    如果先拿TC35去搜, 這樣連有TC35I的字串 也會被搜到有TC35這些字, 此時程式不就先認定它是TC35, 就完工打包回家休息去了, 那永遠也辨識不到TC35I了.

    2019年10月9日 上午 07:27