輸出三角形
循環(huán)結(jié)構(gòu)之多重循環(huán)
在功能需求上,往往一個循環(huán)滿足不了,比如:循環(huán)用一個“*”輸出,得到一下圖形
上面這個例子顯然我們用一個循環(huán)不是太容易實(shí)現(xiàn),這個時候我們就要用到多重循環(huán),多重循環(huán)就是在循環(huán)結(jié)構(gòu)的循環(huán)體中又出現(xiàn)循環(huán)結(jié)構(gòu)。
在實(shí)際開發(fā)中一般最多用到三層重循環(huán)。因?yàn)檠h(huán)層數(shù)越多,運(yùn)行時間越長,程序越復(fù)雜,所以一般用2-3層多重循環(huán)就可以了。另外不同循環(huán)之間也是可以嵌套的。
多重循環(huán)在執(zhí)行的過程中,外層循環(huán)為父循環(huán),內(nèi)層循環(huán)為子循環(huán),父循環(huán)一次,子循環(huán)需要全部執(zhí)行完,直到跳出循環(huán)。父循環(huán)再進(jìn)入下一次,子循環(huán)繼續(xù)執(zhí)行...
注:一個父循環(huán)可以有多個子循環(huán)
那么上面這個用“*”輸出的矩形用多重循環(huán)實(shí)現(xiàn)如下:
任務(wù)
使用雙重循環(huán)實(shí)現(xiàn)輸出正三角形,效果如下
在代碼編輯器中:
第8、13行根據(jù)注釋提示補(bǔ)全所有代碼
hello.c
#include <stdio.h>
int main()
{
int i, j, k;
for(i=1; i<5; i++)
{
/* 觀察每行的空格數(shù)量,補(bǔ)全循環(huán)條件 */
for( ? ; ? ; ? )
{
printf(" "); //輸出空格
}
/* 觀察每行*號的數(shù)量,補(bǔ)全循環(huán)條件 */
for( ? ; ? ; ? )
{
printf("*"); //每行輸出的*號
}
printf("\n"); //每次循環(huán)換行
}
return 0;
}
本課程編程練習(xí)請使用電腦登錄 idcbgp.cn
2016-11-27
#include <stdio.h>
int main()
{
int i, j, k;
for(i=1;i<5;i++)
{
/* 觀察每行的空格數(shù)量,補(bǔ)全循環(huán)條件 */
for(j=1;j<5-i;j++)
{
printf(" "); //輸出空格
}
/* 觀察每行*號的數(shù)量,補(bǔ)全循環(huán)條件 */
for(k=1;k<=2*i-1;k++)
{
printf("*"); //每行輸出的*號
}
printf("\n"); //每次循環(huán)換行
}
return 0;
}
2016-11-27
hello.c
#include <stdio.h>
int main()
{
int i, j, k;
for(i=1; i<5; i++)
{
/* 觀察每行的空格數(shù)量,補(bǔ)全循環(huán)條件 */
for(?j;?j<4-i ;?j++ )
{
printf(" "); //輸出空格
}
/* 觀察每行*號的數(shù)量,補(bǔ)全循環(huán)條件 */
for(?k=0 ;?k<=2*k-1 ; k++)
{
printf("*"); //每行輸出的*號
}
printf("\n"); //每次循環(huán)換行
}
return 0;
}