作者oklp1415 (天生我材)
看板C_and_CPP
標題[問題] 迴圈列印問題
時間Mon Apr 7 13:48:46 2014
開發平台(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
推 kaocoming:你z是多設的 數字跟著k跑就可以了 04/07 16:36
→ kaocoming:還有你這樣印只能印左半部 04/07 16:37
→ kaocoming:你最內層的迴圈稍微改一下就可以了 04/07 16:38
→ Mchord:printf引數打z++會有效果嗎?_? 04/07 20:48
→ purincess:有啊,會印出z當下的值,然後z會加一 04/07 23:15
推 hbzncu:只要分成三部分來思考:1.列印空白,2.i在小於等於列數時遞增 04/08 02:02
→ hbzncu:3.i大於列數時遞減;從你程式只看到遞增部分沒有遞減部分 04/08 02:04