You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现方框左侧降序数字、底部升序数字的打印效果?

目标边框打印的修改方案

预期效果

# # # # # # # # # # # 
8#                   #
7#                   #         
6#                   #
5#                   #
4#                   #
3#                   #
2#                   #
1#                   #
0#                   #
 # # # # # # # # # # #
   0 1 2 3 4 5 6 7 8

原代码问题

  1. 行输出顺序为正序(0到7),与预期倒序(8到0)不符
  2. 缺少左侧行号(8-0)与底部列号(0-8)
  3. 上下边框的#数量与预期不一致
  4. 中间行的边框与行号排版未对齐

修改后代码

#include <iostream>
using namespace std;

int main() {
    const int num_range = 8; // 行/列号范围为0-8

    // 打印顶部边框
    cout << " ";
    for (int i = 0; i <= num_range + 1; i++) {
        cout << "# ";
    }
    cout << "\n";

    // 打印中间带行号的行(从8到0倒序)
    for (int i = num_range; i >= 0; i--) {
        cout << i << "#";
        // 填充中间空格
        for (int j = 0; j < num_range * 2 - 1; j++) {
            cout << " ";
        }
        cout << "#\n";
    }

    // 打印底部边框
    cout << " ";
    for (int i = 0; i <= num_range + 1; i++) {
        cout << "# ";
    }
    cout << "\n";

    // 打印底部列号
    cout << "   ";
    for (int i = 0; i <= num_range; i++) {
        cout << i << " ";
    }
    cout << "\n";

    return 0;
}

代码说明

  • 边框部分:顶部和底部边框开头加一个空格,循环打印11个# ,与预期格式匹配
  • 中间行:从8到0倒序输出行号,行号后紧跟左侧#,中间填充17个空格后打印右侧#,保证排版对齐
  • 列号部分:开头加3个空格,依次输出0-8的列号,每个列号后加空格

内容的提问来源于stack exchange,提问作者moo moo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 05:18:21