TB椰程 TypeBuddy 打字搭子

【例37.3】 菱形图形

C++语法 · 循环结构 · 代码 · cpp · 难度 4/5 · 共 538 字

用 1 到 2n-1 的数字拼出菱形

  • C++语法
  • 例题

正文

// 原题:https://oj.yecheng.tv/p/P223
// 题意:输入 n,用数字 1 到 2n-1 输出菱形:
//       中间一行是 1..2n-1,上下对称逐行缩短。
// 思路:行号到中线的距离决定前导空格数
//       和这一行数字的个数。
#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;
    // 共 2n-1 行
    for (int i = 0; i < 2 * n - 1; i++) {
        int d = n - 1 - i;
        if (d < 0) d = -d;
        // 距中线越远,空格越多、数字越少
        for (int s = 0; s < d; s++) cout << " ";
        for (int j = 1; j <= 2 * (n - d) - 1; j++) {
            cout << j;
        }
        cout << endl;
    }
    return 0;
}

C++语法 · 循环结构的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK