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