gesp(二级)(7)洛谷:B3865:[GESP202309 二级] 小杨的 X 字矩阵
gesp(二级)(7)洛谷:B3865:[GESP202309 二级] 小杨的 X 字矩阵
题目描述
小杨想要构造一个 的 X 字矩阵( 为奇数),这个矩阵的两条对角线都是半角加号 +
,其余都是半角减号 -
。例如,一个
5
×
5
5 \times 5
5×5 的 X 字矩阵如下:
+---+
-+-+-
--+--
-+-+-
+---+
请你帮小杨根据给定的 打印出对应的“X 字矩阵”。
输入格式
一行一个整数 ( 5 ≤ N ≤ 49 5 \le N \le 49 5≤N≤49,保证为奇数)。
输出格式
输出对应的“X 字矩阵”。
请严格按格式要求输出,不要擅自添加任何空格、标点、空行等任何符号。你应该恰好输出
N
N
N 行,每行除了换行符外恰好包含
N
N
N 个字符,这些字符要么是 +
,要么是 -
。
样例 #1
样例输入 #1
5
样例输出 #1
+---+
-+-+-
--+--
-+-+-
+---+
样例 #2
样例输入 #2
7
样例输出 #2
+-----+
-+---+-
--+-+--
---+---
--+-+--
-+---+-
+-----+
提示
特别提醒
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。
AC代码(100分)
#include<bits/stdc++.h>
using namespace std;
/*
行号:i,列号:j
左上到右下对角线的格子: i==j
右上到左下对角线的格子:i+j==n+1
*/
int n;
int main(){
cin>>n;
for(int i=1;i<=n;i++){//控制行
for(int j=1;j<=n;j++){//控制每行打印几个
if(i==j || i+j==n+1){//满足对角线的格子
cout<<'+';
}else{//其它格子
cout<<'-';
}
}
cout<<endl;
}
return 0;
}
文末彩蛋:
点击王老师青少年编程主页有更多精彩内容