当前位置: 首页 > article >正文

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;
}

文末彩蛋:

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


http://www.kler.cn/a/447427.html

相关文章:

  • 如何调大unity软件的字体
  • PHP 微信棋牌开发全解析:高级教程
  • 第二十四天 循环神经网络(RNN)LSTM与GRU
  • ExcelVBA编程输出ColorIndex与对应颜色色谱
  • ubuntu22.04编译安装Opencv4.8.0+Opencv-contrib4.8.0教程
  • 【IoTDB 线上小课 10】为什么选择 IoTDB 管理时序数据?
  • STM32-笔记7-继电器定时开闭
  • 雅思真题短语梳理(八)
  • 常用的JVM启动参数有哪些?
  • 电子发票汇总改名,批量处理电子发票问题
  • ChatGPT接口测试用例生成的流程
  • windows安装Elasticsearch及增删改查操作
  • 基于SpringBoot+Mysql实现的在线音乐系统平台功能实现一
  • postman测试导入文件
  • 【ETCD】【实操篇(四)】etcd常见问题快问快答FAQ
  • 2.5 io_uring
  • 黑马Java面试教程_P7_常见集合_P4_HashMap
  • homebrew,gem,cocoapod 换源,以及安装依赖
  • uniapp实现手写签名,并在app中将其转为base64格式的图片
  • springboot中的AOP以及面向切面编程思想
  • Vue.js前端框架教程8:Vue消息提示ElMessage和ElMessageBox
  • Win/Mac 如何实现测试 IP 和端口
  • ​在VMware虚拟机上设置Ubuntu与主机共享文件夹​
  • ubuntu 开机自动mount 的方法
  • 行情接入手册
  • 信息安全管理与评估赛题第6套