我们已经介绍过了C++中的循环结构:for结构while和do-while结构,但有很多问题,用循环结构还不足以解决。比如,下面这个例子。

【题目】如下图用输出九九乘法口诀表。

image-20210924193304852

分析

  1. 九九乘法表中,每一个输出单元都是相同的,通项公式为“$i\times j=i* j$”,可以用循环结构来实现。
  2. 在每一行内,$i$从$1$开始,每打印一次,$i$就增加1,直到$i=j$为止。
  3. 一行打印完后,$j$增加1,$j$从$1$开始,直到$9$为止。

代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#include<iostream>
using namespace std;

int main(){
    for(int j = 1; j <= 9; ++j){//j从1开始,每当打印完一行,j增加1,直到9为止
        for(int i = 1; i <= j; ++i){
            cout << i << "×" << j << "=" << i * j << end = "\t";//打印一次公式
        }
        cout << end ="\n";//打印一行输出一个换行符
    }
    return 0;
}

说明

  1. 九九乘法表中,从第$1$行到第$9$行(行号分别为$1,2,3,\dots,9$),可以用从$1$到$9$的for循环来实现。
  2. 第$1$行中,共打印$1$次,第$2$行中,共打印$2$次,第$3$行中,共打印$3$次,以此类推,每一行内,打印的次数和行号相等。
  3. 在每一行内,又有一个从$1$到行号的for循环。

上述,在一个for循环内,又有一个for循环的情况,就叫作“嵌套循环”。

公众号:格致书院