TB椰程 TypeBuddy 打字搭子

【例38.3】 X战警

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

输出 n 阶的 X 标志

  • C++语法
  • 例题

正文

// 原题:https://oj.yecheng.tv/p/P229
// 题意:输出 n 阶 X 标志:两条对角线位置是 X,
//       其余是空格,行末不能有多余空格。
// 思路:逐行判断列号是否落在对角线上,
//       记住每行最后一个 X 的位置,之后不再输出空格。
#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;
    for (int i = 0; i < n; i++) {
        // 这一行的两个 X 位置
        int p1 = i, p2 = n - 1 - i;
        int last = p1 > p2 ? p1 : p2;
        for (int j = 0; j <= last; j++) {
            // 落在任一条对角线上就画 X
            if (j == p1 || j == p2) cout << "X";
            else cout << " ";
        }
        cout << endl;
    }
    return 0;
}

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

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