課程
/后端開發(fā)
/C
/C語(yǔ)言入門
不明白循環(huán)的條件和內(nèi)容,它怎么能輸出這個(gè)正三角的呢。請(qǐng)?jiān)敿?xì)說(shuō)明一下。
2017-08-28
源自:C語(yǔ)言入門 4-12
正在回答
循環(huán)執(zhí)行順序是外循環(huán)執(zhí)行一次,內(nèi)循環(huán)要完成一次整個(gè)循環(huán)。本題有一個(gè)外循環(huán)和兩個(gè)并列的內(nèi)循環(huán),所以
外循環(huán)for(i... 執(zhí)行一次,兩個(gè)內(nèi)循環(huán)for(j...、for(k... 分別要完成一次完整循環(huán)。
for(j... ——完成*前的空格輸出,根據(jù)最終輸出圖形可知,每行前面空格逐一減少,即for(i... 每換一次行,for(j... 的循環(huán)總數(shù)需減1,直到減至1后停止循環(huán);
for(k... ——完成*輸出,根據(jù)最終輸出圖形可知,每行輸出*逐一增加二,即for(i... 每換一次行,for(k... 的循環(huán)總數(shù)需增2,直到增至7后停止循環(huán);
for(i... ——完成換行,根據(jù)最終輸出圖形可知,需換4次行(3次也可),所以for(i... 需循環(huán)4次,并且需在執(zhí)行完兩個(gè)內(nèi)循環(huán)之后執(zhí)行換行;
i為行數(shù),j為每行*號(hào)前面空格數(shù),k為每行*數(shù);從最終輸出圖形中分別總結(jié)j跟i和k跟i的關(guān)系:
i ?j ?k
1 ?4 ?1
2 ?3 ?3
3 ?2 ?5
4 ?1 ?7
j和i的關(guān)系,j=5-i;
k和i的關(guān)系,k=(2*i)-1;
于是得:
#include <stdio.h>
int main(){
int i,j,k;
for(i=1;i<5;i++){
for(j=1;j<=5-i;j++)
printf(" ");
for(k=1;k<=2*i-1;k++)
printf("*");
printf("\n");
}
return 0;
qq_麒麟_7 提問(wèn)者
空格不是\t嗎
for(i=1;i<5;i++)意思是有4次循環(huán),輸出4次
for(j=1;j<=5-i;j++)意思是每行要輸出多少空格
for(k=1;k<=2*i-1;k++)意思是每行輸出空格后的*的個(gè)數(shù)
舉報(bào)
C語(yǔ)言入門視頻教程,帶你進(jìn)入編程世界的必修課-C語(yǔ)言
4 回答多重循環(huán)的問(wèn)題
1 回答多重循環(huán)問(wèn)題
6 回答多重循環(huán)小問(wèn)題
1 回答例題多重循環(huán)的問(wèn)題
1 回答多重循環(huán)的習(xí)題,
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2017-08-28
循環(huán)執(zhí)行順序是外循環(huán)執(zhí)行一次,內(nèi)循環(huán)要完成一次整個(gè)循環(huán)。本題有一個(gè)外循環(huán)和兩個(gè)并列的內(nèi)循環(huán),所以
外循環(huán)for(i... 執(zhí)行一次,兩個(gè)內(nèi)循環(huán)for(j...、for(k... 分別要完成一次完整循環(huán)。
for(j... ——完成*前的空格輸出,根據(jù)最終輸出圖形可知,每行前面空格逐一減少,即for(i... 每換一次行,for(j... 的循環(huán)總數(shù)需減1,直到減至1后停止循環(huán);
for(k... ——完成*輸出,根據(jù)最終輸出圖形可知,每行輸出*逐一增加二,即for(i... 每換一次行,for(k... 的循環(huán)總數(shù)需增2,直到增至7后停止循環(huán);
for(i... ——完成換行,根據(jù)最終輸出圖形可知,需換4次行(3次也可),所以for(i... 需循環(huán)4次,并且需在執(zhí)行完兩個(gè)內(nèi)循環(huán)之后執(zhí)行換行;
i為行數(shù),j為每行*號(hào)前面空格數(shù),k為每行*數(shù);從最終輸出圖形中分別總結(jié)j跟i和k跟i的關(guān)系:
i ?j ?k
1 ?4 ?1
2 ?3 ?3
3 ?2 ?5
4 ?1 ?7
j和i的關(guān)系,j=5-i;
k和i的關(guān)系,k=(2*i)-1;
于是得:
#include <stdio.h>
int main(){
int i,j,k;
for(i=1;i<5;i++){
for(j=1;j<=5-i;j++)
printf(" ");
for(k=1;k<=2*i-1;k++)
printf("*");
printf("\n");
}
return 0;
}
2017-08-28
空格不是\t嗎
2017-08-28
for(i=1;i<5;i++)意思是有4次循環(huán),輸出4次
for(j=1;j<=5-i;j++)意思是每行要輸出多少空格
for(k=1;k<=2*i-1;k++)意思是每行輸出空格后的*的個(gè)數(shù)