close
標題:

免費註冊體驗

 

此文章來自奇摩知識+如有不便請留言告知

新年想問C語言問題

發問:

近排開始學寫C語言,但讀到迴圈時就開始有d亂,我讀完一part教for, while, do while的example課本,到最尾有功課做時,第一條問題我己經唔識寫,而本書有無答案,所以想請高手幫忙!!!!!問題1:試利用for迴圈撰寫出一個能產生如下圖結果的程式.122333444455555問題2:如上. * ***************問題3:如上 * *************** *** *** ... 顯示更多 近排開始學寫C語言,但讀到迴圈時就開始有d亂, 我讀完一part教for, while, do while的example課本, 到最尾有功課做時, 第一條問題我己經唔識寫,而本書有無答案,所以想請高手幫忙!!!!! 問題1: 試利用for迴圈撰寫出一個能產生如下圖結果的程式. 1 22 333 4444 55555 問題2:如上. * *** ***** ******* 問題3:如上 * *** ***** ******* *** *** *** 真係唔係好明, 因為書教ga野得好少, for(i=1,i<=10,i++) for(j=1,j<=10,j++) 書就係大致上教咁多, 都唔知點寫......... 希望解釋得清楚些.... ****************************************************************** 以下係我亂咁試而得出的答案,但希望人解釋吓,事關我撞彩寫倒, 但諗咗好耐都唔明咁樣點解會得倒第一條的答案!!!!!!!!!!!!!!! #include /*將stdlib.h這個檔案含括進來後,可將dos畫面show出來*/ #include int main (void) { int i,j; for (i=1;i<=5;i++) { for (j=1;j<=i;j++) printf ("%d",i); printf (" "); } system("PAUSE"); return 0; } 答案係: 1 22 333 4444 55555 以上答案自己亂試,很想人解釋得清清楚楚,因我始終唔明 點解亂咁寫反而會出倒我想要ga答案,請高手盡量一個一個Step解釋,因諗唔通哩個打後好多都唔明,十萬分感謝!!!!!! *****************************************************************

最佳解答:

int i,j; Create 左兩個變數,叫 i and j for (i=1;i<=5;i++) Set i=1,同時 Check i 是否 細個等於 5,結果是 TRUE for (j=1;j<=i;j++) Set j=1,同時 Check j 是否 細個等於 i,因為 i=1 結果是 TRUE printf ("%d",i); 列印 i 變數,結果列出數字 1 printf (" "); 開新行 j++ j = j + 1 結果 j=2 for (j=1;j<=i;j++) Check j 是否細個等於 i,因為 j=2, i=1 結果是FALSE離開ForLoop i++ i = i + 1 結果 i = 2 for (i=1;i<=5;i++) Check i 是否 細個等於 5,因為 i=2 結果是 TRUE for (j=1;j<=i;j++) Set j=1,同時 Check j 是否 細個等於 i,因為 i=2 結果是 TRUE printf ("%d",i); 列印 i 變數,結果列出數字 2 printf (" "); 開新行 j++ j = j + 1 結果 j=2 for (j=1;j<=i;j++) Check j 是否細個等於 i,因為 j=2, i=2 結果是TRUE printf ("%d",i); 列印 i 變數,結果列出數字 2 printf (" "); 開新行 j++ j = j + 1 結果 j=3 for (j=1;j<=i;j++) Check j 是否細個等於 i,因為 j=3, i=2 結果是FALSE離開ForLoop i++ i = i + 1 結果 i = 3 如此類推 另外你可以係程式的左面窄的空白地方按一下滑鼠左鍵 此時會增加一個紅色的波仔,我們叫它做「Break Point」 然後按 F5 運行程式,此時它會停在你放 Break Point 的位置 此時在上面按 Debug→Windows→Autos 會出現一個視窗,有Name, Value, 同 Type 然後按 F10 可往下一行,觀察其變化 如果是自設的 Function,可按 F11 入去看 Function 內的情況 如真的看不明,可給我電郵 2009-05-29 12:10:44 補充: 照我咁睇,你個程式應該唔會得出你所講的結果 而應該係 1 2 2 3 3 3 4 4 4 4 5 5 5 5 因為你每 print 完一次都開左新行 應該係 print 完 i 咁多次之後先開新行 5

其他解答:
arrow
arrow

    omckyyo 發表在 痞客邦 留言(0) 人氣()