题目背景
对应的选择、判断题: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;
}