[問題] 新手練習for-loop

看板C_and_CPP作者 (lin)時間9年前 (2015/03/25 12:12), 9年前編輯推噓3(3014)
留言17則, 8人參與, 最新討論串1/1
//Q:題目 列印出以下圖形 //* //** //*** //**** //***** //**** //*** //** //* 不想用兩個巢狀迴圈做出(程式碼如下) 不知道如何一個巢狀迴圈完成 謝謝 for(int i=1;i<=4;i++){ printf("\n"); for(int j=1;j<=i;j++){ print("*"); } for (int i=5;i>=0;i--){ printf("\n"); for(int j=5;j>=0;j--){ printf("*"); } } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.70.94.141 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1427256777.A.4F2.html

03/25 12:16, , 1F
搭配一個if 使i大於5時自動遞減 注意不可直接使用原來
03/25 12:16, 1F

03/25 12:17, , 2F
的i否則for會永遠跑不完
03/25 12:17, 2F

03/25 12:17, , 3F
(2)20年來從未聽過net-loop 那是什麼東東
03/25 12:17, 3F
※ 編輯: healthlin (61.70.94.141), 03/25/2015 12:22:56

03/25 12:54, , 4F
用座標的想法去印
03/25 12:54, 4F

03/25 13:48, , 5F
用 memset 把第二層包起來
03/25 13:48, 5F

03/25 13:50, , 6F
for三個部分都可以指定一個以上的數據 我給你個方向
03/25 13:50, 6F

03/25 13:50, , 7F
下面這個不是解答 不過for可以寫成這樣
03/25 13:50, 7F

03/25 13:51, , 8F
for(int i=0, j=1; i<j && j>=4; i=i>j?j:0, ++j)
03/25 13:51, 8F

03/25 13:52, , 9F
要怎麼把兩個for用這種方法濃縮成一個for 你可以想想
03/25 13:52, 9F

03/25 13:53, , 10F
不過你這樣寫的話大概可以去參加IOCCC了 XD
03/25 13:53, 10F

03/25 14:38, , 11F
喔~唉歐吸吸吸 不要啦 >_<
03/25 14:38, 11F

03/27 10:10, , 12F
謝謝解答
03/27 10:10, 12F

03/28 01:23, , 13F
熟讀printf的功能
03/28 01:23, 13F

03/29 15:56, , 14F
直覺是for裡包一個if,for的count達到5後遞減印出
03/29 15:56, 14F

03/29 18:03, , 15F
03/29 18:03, 15F

03/29 18:34, , 16F
快去submit IOCCC XD
03/29 18:34, 16F

04/02 22:24, , 17F
04/02 22:24, 17F
文章代碼(AID): #1L4ZN9Jo (C_and_CPP)