[問題] 迴圈列印問題

看板C_and_CPP作者 (天生我材)時間10年前 (2014/04/07 13:48), 編輯推噓3(305)
留言8則, 5人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Dev-C 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 餵入的資料(Input): 預期的正確結果(Expected Output): 1 121 12321 1234321 錯誤結果(Wrong Output): 1 11 111 1111 程式碼(Code):(請善用置底文網頁, 記得排版) #include <stdio.h> #include <stdlib.h> int main(){ int i,j,k,z=1; for(i=1;i<6;i++) { for(j=5-i;j>0;j--) { printf(" "); //先印出每一列必須的空格 } for(k=0;k<i;k++) { printf("%d",z++); //印出數值 } printf("\n"); //換印下一列 } system("pause"); //使程式暫停在執行畫面讓我們看到結果 return 0; } 補充說明(Supplement): 奇怪,一直跑不出預期的想法結果,想說可以切割分開來個別跑輸出結果 但是總是跑一半。而且內部z數值也沒累加上去 不知道是哪裡有問題呢?? 希望有人能幫我解答一下,謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.27.121.141 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1396849729.A.988.html

04/07 16:04, , 1F

04/07 16:36, , 2F
你z是多設的 數字跟著k跑就可以了
04/07 16:36, 2F

04/07 16:37, , 3F
還有你這樣印只能印左半部
04/07 16:37, 3F

04/07 16:38, , 4F
你最內層的迴圈稍微改一下就可以了
04/07 16:38, 4F

04/07 20:48, , 5F
printf引數打z++會有效果嗎?_?
04/07 20:48, 5F

04/07 23:15, , 6F
有啊,會印出z當下的值,然後z會加一
04/07 23:15, 6F

04/08 02:02, , 7F
只要分成三部分來思考:1.列印空白,2.i在小於等於列數時遞增
04/08 02:02, 7F

04/08 02:04, , 8F
3.i大於列數時遞減;從你程式只看到遞增部分沒有遞減部分
04/08 02:04, 8F
文章代碼(AID): #1JGZn1c8 (C_and_CPP)