課程
/后端開發
/C
/C語言入門
(1)/* 觀察每行的空格數量,補全循環條件 */
?for(j=i;j<5;j++) ?
為什么j<5?
(2)/* 觀察每行*號的數量,補全循環條件 */
for(k=0;k<2*i-1;k++)?
為什么k=0?
2016-04-11
源自:C語言入門 4-12
正在回答
答案是這樣想的:a代表空格的話,aaa*\naa***\na*****\n*******\n(\n是換行的意思),其中i是行數,答案只考慮了*號前面的空格數量,因為第一行空格最多(3個),此后依次空格數減1,正好行數依次加一,所以讓j = i,然后取j < 5做條件,這也第一行輸出3個空格,第二行2個,第三行1個,第四行0個;
第二個問題,2*i-1是每行*號的數量,打印完空格,接著打印*號,你可以簡單數一下,如果條件是 k < 2*i-1,k = 0時會輸出2*i-1個*,如果條件是k <= 2*i-1的話,就該取 k=1了。
i是祎不是偉 提問者
好像是因為k 代表 * 的數量,初始值是0 ?那么k<2*i-1 ?就是 2*1-1=1 ?所以第一行的* 數量是1 ? ?其實我也剛學的 不知道對不對.
Nicole5863 回復 i是祎不是偉 提問者
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
3 回答代碼顯示問題
2 回答代碼顯示問題
4 回答這兩個代碼表示什么
2 回答示例代碼有問題吧
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-04-12
答案是這樣想的:a代表空格的話,aaa*\naa***\na*****\n*******\n(\n是換行的意思),其中i是行數,答案只考慮了*號前面的空格數量,因為第一行空格最多(3個),此后依次空格數減1,正好行數依次加一,所以讓j = i,然后取j < 5做條件,這也第一行輸出3個空格,第二行2個,第三行1個,第四行0個;
第二個問題,2*i-1是每行*號的數量,打印完空格,接著打印*號,你可以簡單數一下,如果條件是 k < 2*i-1,k = 0時會輸出2*i-1個*,如果條件是k <= 2*i-1的話,就該取 k=1了。
2016-04-11
好像是因為k 代表 * 的數量,初始值是0 ?那么k<2*i-1 ?就是 2*1-1=1 ?所以第一行的* 數量是1 ? ?其實我也剛學的 不知道對不對.