试题编号
:
2023-09-23-02-C-01
试题名称
:小杨的
X
字矩阵
时间限制
:
1.0 s
内存限制
:
128.0 MB
3.1.1
问题描述
小杨想要构造一个N*N的
X
字矩阵( 为奇数),这个矩阵的两条对角线都是半角加号
+ ,其余都是半角减号 - 。例如,一个5*5的
X
字矩阵如下:
+---+-+-+---+---+-+-+---+
请你帮小杨根据给定的N 打印出对应的
“X
字矩阵
”
。
3.1.2
输入描述
一行一个整数 N(5<=N<=49,保证N 为奇数)。
3.1.3
输出描述
输出对应的
“X
字矩阵
”
。
请严格按格式要求输出,不要擅自添加任何空格、标点、空行等任何符号。你应该恰好输出 N行,每行除了换行符外恰好包含 N个字符,这些字符要么是
+
,要么是
-
。
3.1.4
特别提醒
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任 何提示信息。
3.1.5
样例输入
1
5
3.1.6
样例输出
1
+---+-+-+---+---+-+-+---+
3.1.7
样例输入
2
7
3.1.8
样例输出
2
+-----+-+---+---+-+-----+-----+-+---+---+-+-----+
解析:对于一个N*N的矩阵,左上角到右下角的规律为i==j,对于右上角到左下角的规律为i+j==N-1;
则可以根据这个规律判断输出+还是-,详见代码:
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (i == j || i + j == n - 1) {
cout << "+";
} else {
cout << "-";
}
}
cout << endl;
}
return 0;
}