C++ 迴圈的巢狀
迴圈巢狀:當迴圈語句中的迴圈體又是一個迴圈語句時,就構成了“巢狀迴圈”。
巢狀層次:迴圈的巢狀層次從語法上沒有限制,但一般不超過三層,否則將影響可讀性。
應用舉例:
【例2.16】 列印九九表。列印格式為:
* 1 2 3 4 5 6 7 8 9
1 1
2 2 4
3 3 6 9
…
9 9 18 27 36 45 54 63 72 81
#include <iostream>
#include <iomanip>
using namespace std;
int main(){
int i,j;
cout<<setw(3)<<'*'<<setw(4)<<' ';
for(i=1;i<10;i++) cout<<setw(4)<<i; //輸出第一行表頭
cout<<endl<<endl; //輸出空行
for(i=1;i<10;i++){
cout<<setw(3)<<i<<setw(4)<<' '; //輸出行
for(j=1;j<=i;j++) cout<<setw(4)<<i*j; //輸出表值資料
cout<<endl; //準備輸出下一行
}
return 0;
}
【例2.17】 列印如下圖形。
* * * * * * * * * * *
* * * * * * * * * * *
* * * * * * * * * * *
* * * * * * * * * * *
* * * * * * * * * * *
#include <iostream>
#include <iomanip>
using namespace std;
int main(){
int i,j;
for(i=1;i<=5;i++){
for(j=1;j<=5-i;j++) cout<<" " ; //輸出若干空格
for(j=1;j<=11;j++) cout<<"* "; //輸出若干*
cout<<endl; //準備輸出下一行
}
return 0;
}
巢狀形式:for 語句、while語句和do-while語句均可以構成巢狀形式,這三種語句還可以互相巢狀。