自学内容网 自学内容网

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 5N49,保证为奇数)。

输出格式

输出对应的“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;
}

文末彩蛋:

点击王老师青少年编程主页有更多精彩内容


原文地址:https://blog.csdn.net/weixin_66461496/article/details/144627340

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!