第10篇题解~
题目
小杨想要构造一个 的 X 字矩阵( 为奇数),这个矩阵的两条对角线都是半角加号 +
,其余都是半角减号 -
。例如,一个 5×5 的 X 字矩阵如下:
+---+
-+-+-
--+--
-+-+-
+---+
请你帮小杨根据给定的 打印出对应的“X 字矩阵”。
输入格式
一行一个整数 ( 5≤N≤49,保证为奇数)。
输出格式
输出对应的“X 字矩阵”。
请严格按格式要求输出,不要擅自添加任何空格、标点、空行等任何符号。你应该恰好输出 N 行,每行除了换行符外恰好包含 N 个字符,这些字符要么是 +
,要么是 -
。
输入输出样例
输入 #1复制
5
输出 #1复制
+---+ -+-+- --+-- -+-+- +---+
输入 #2复制
7
输出 #2复制
+-----+ -+---+- --+-+-- ---+--- --+-+-- -+---+- +-----+
说明/提示
特别提醒
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。
思路
发现了吗?‘+’号都位于两条对角线上
即 j == i || j == (n - 1 - i)
即两条对角线
其余详见注释
AC代码
#include <bits/stdc++.h>//万能头
using namespace std;
int main (){
int n;
cin >> n;
for (int i = 0; i < n; ++i){//双重循环遍历
for (int j = 0; j < n; ++j){
if (j == i || j == (n - 1 - i)){//条件判断:是否处于对角线上
cout << '+';、//是,输出‘+’
}
else{
cout << '-';//不是,输出‘-’
}
}
cout << endl;//输完一行,注意输换行
}
return 0;//结束
}
完结撒花~
有意见和问题请在评论区提出,谢谢!!!
求3连求关!!!