《B3955 [GESP202403 二级] 小杨的日字矩阵》

题目背景

对应的选择、判断题:https://ti.luogu.com.cn/problemset/1142

题目描述

小杨想要构造一个 N×N 的日字矩阵(N 为奇数),具体来说,这个矩阵共有 N 行,每行 N 个字符,其中最左列、最右列都是 |,而第一行、最后一行、以及中间一行(即第 2N+1​ 行)的第 2∼N−1 个字符都是 - ,其余所有字符都是半角小写字母 x 。例如,一个 N=5 日字矩阵如下:

复制代码
|---|
|xxx|
|---|
|xxx|
|---|

请你帮小杨根据给定的 N 打印出对应的"日字矩阵"。

输入格式

一行一个整数 N(5≤N≤49,保证 N 为奇数)。

输出格式

输出对应的"日字矩阵"。

请严格按格式要求输出,不要擅自添加任何空格、标点等任何符号。你一个恰好输出 N 行,每行除了换行符外恰好包含 N 个字符,这些字符要么是 -,要么是 |,要么是 x你的输出必须和标准答案完全一致才能得分,请在提交前仔细检查

输入输出样例

输入 #1复制

复制代码
5

输出 #1复制

复制代码
|---|
|xxx|
|---|
|xxx|
|---|

输入 #2复制

复制代码
7

输出 #2复制

复制代码
|-----|
|xxxxx|
|xxxxx|
|-----|
|xxxxx|
|xxxxx|
|-----|

代码实现;

cpp 复制代码
#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;
    int mid = (n + 1) / 2;
    for (int i = 1; i <= n; ++i) {
        for (int j = 1; j <= n; ++j) {
            if (j == 1 || j == n)
                cout << "|";
            else if (i == 1 || i == n || i == mid)
                cout << "-";
            else
                cout << "x";
        }
        cout << endl;
    }
    return 0;
}
相关推荐
逻辑君12 小时前
Foresight研究报告【20260011】
人工智能·线性代数·算法·矩阵
无左无右13 小时前
已知相机到车的rt 4x4矩阵,求pitch和yaw角度
数码相机·线性代数·矩阵
通信小呆呆14 小时前
Vandermonde结构及其快速算法详解
线性代数·算法
吃好睡好便好1 天前
矩阵的左乘和右乘
人工智能·学习·线性代数·算法·matlab·矩阵
东方佑1 天前
从量子矩阵力学到神经网络计算:一种跨学科的数学统一性探索
神经网络·线性代数·矩阵
通信小呆呆1 天前
Hankel结构及其快速算法详解
线性代数·算法·机器学习
吃好睡好便好1 天前
矩阵的左除和右除
人工智能·学习·线性代数·算法·矩阵
2601_957888562 天前
从数据隔离到全链路分发:短视频矩阵系统的防关联底层逻辑与提效实践
线性代数·矩阵
_Evan_Yao2 天前
线性代数 + 编程:用Python实现向量和矩阵运算
python·线性代数·矩阵
计算机安禾2 天前
【线性代数】线代「行/列变换」使用场景总总结
线性代数