1. 程式人生 > >C++ 迴圈的巢狀

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語句均可以構成巢狀形式,這三種語句還可以互相巢狀。