《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;
}
相关推荐
H178535090964 天前
SolidWorks第四部分_直接实体建模特征9_替换面原理
线性代数·算法·机器学习·3d建模·solidworks
昇腾CANN4 天前
【cann-samples系列】GroupedMatmul MX量化矩阵乘的深度性能优化实践
线性代数·性能优化·矩阵·昇腾·cann
青山木5 天前
Hot 100 --- 矩阵置零
线性代数·算法·leetcode·矩阵·哈希算法
Jasmine_llq5 天前
《B4264 [GESP202503 四级] 二阶矩阵》
线性代数·算法·矩阵·二维矩阵遍历枚举所有2×2矩阵·交叉乘积等式条件判断·输入输出快读加速·长整型防溢出计数统计
阿泽·黑核5 天前
05 keyflow 扩展设计方案:矩阵键盘/组合键/事件队列/中断驱动
线性代数·矩阵·计算机外设·嵌入式·agent·vibe coding
工头阿乐5 天前
相机坐标系标定与外参矩阵求解
数码相机·线性代数·矩阵
金色熊族6 天前
QTransform使用心得(二)--仿射变换、非仿射变换、矩阵
qt·线性代数·矩阵
江畔柳前堤6 天前
github实战指南00-命令在哪里执行?
人工智能·线性代数·oracle·数据挖掘·github·word
江畔柳前堤7 天前
github实战指南05-Fork与开源协作
人工智能·线性代数·oracle·开源·github·word