找规律再动手

10 分钟

图形题最忌讳一上来就写代码。正确顺序是:先在草稿纸上把前三四行原样画出来,再数一数每行分别有几个空格、几个星号,把数据列成一张小表。规律往往一眼就能看出来——多半是关于行号 的一次式。

比如画一个 4 行的倒直角三角形,数出来:

空格 星号
1 0 4
2 1 3
3 2 2
4 3 1

一看就懂:空格是 个,星号是 个。翻译成代码:

int n = 4;
for (int i = 1; i <= n; i++) {
    for (int k = 0; k < i - 1; k++) cout << ' ';       // 空格 i-1
    for (int k = 0; k < n + 1 - i; k++) cout << '*';   // 星号 n+1-i
    cout << '\n';
}

先列表、后写式子、再落成循环边界,几乎不会出错。反过来,凭感觉硬凑循环上限,边界差 1(多一行、少一列)是这类题最常见的失分点。

小纸条

在纸上画出 4 行的等腰三角形,数出每行的空格数。

登录 后可看答案

找规律再动手 · 考级冲刺 · op599 课程