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

B3844 [GESP样题 二级] 画正方形

题目描述

输入一个正整数 n,要求输出一个 n 行 n 列的正方形图案(参考样例输入输出)。图案由大写字母组成。

其中,第 1 行以大写字母 A 开头,第 2 行以大写字母 B 开头,以此类推;在每行中,第 2 列为第 1 列的下一个字母,第 3 列为第 2 列的下一个字母,以此类推;特别的,规定大写字母 Z 的下一个字母为大写字母 A。

输入格式

输入一行,包含一个正整数 n。约定 2≤n≤40。

输出格式

输出符合要求的正方形图案。

输入输出样例

解题思路

对于这类图形输出的题目,通常都是用双重循环来控制行列。

观察图形,我们会发现:

1)每一行的行首字母分别是'A' ,'B', 'C' ...'Z' ,'A', ' B', 'C...'Z',如果行号i从0开始,到n-1行,则每一行的行首字母应该为char('A'+i%26),考虑到字母溢出情况;

2)每一行的每列字母分别是从改行首字母开始,依次递增,如果列号j从0开始,到n-1列,则每一列的字母应该为行首字母('A'+I)+列号j的转换,也即char('A'+(i+j)%26),同理,考虑到字母溢出,所以这里需要同26求模;

3)输出每行字母后,记得换行

代码如下:

#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++){cout<<char('A'+(i+j)%26);}cout<<endl;}return 0;}

http://www.xdnf.cn/news/17900.html

相关文章:

  • CPP多线程2:多线程竞争与死锁问题
  • 复合机器人食品分拣生产线:一体化控制系统引领高效柔性新食代
  • 硬核北京 | 2025世界机器人大会“破圈”,工业智能、康养科技…… 亦庄上演“机器人总动员”
  • Java 多线程教程
  • 心路历程-三个了解敲开linux的大门
  • 第三十七天(js前端数据加密和混淆)
  • 设计模式之静态代理
  • 拒绝造轮子(C#篇)使用SqlSugar实现数据库的访问
  • KingbaseES高可用架构深度解析——从读写分离到异地灾备的全方位守护
  • Vue2.x核心技术与实战(一)
  • Flutter InheritedWidget 详解:从生命周期到数据流动的完整解析
  • 《探索IndexedDB实现浏览器端UTXO模型的前沿技术》
  • Blackwell 和 Hopper 架构的 GPGPU 新功能全面综述
  • debian 13 显示中文字体 不再显示菱形块 终端显示中文
  • 【121页PPT】锂膜产业MESERP方案规划建议(附下载方式)
  • week1-[循环嵌套]画正方形
  • hex文件结构速查
  • Java研学-SpringCloud(三)
  • LCR 076. 数组中的第 K 个最大元素
  • 集成电路学习:什么是Image Segmentation图像分割
  • QT|windwos桌面端应用程序开发,当连接多个显示器的时候,如何获取屏幕编号?
  • 嵌入式第二十九课!!!回收子进程资源空间函数与exec函数
  • Deepoc具身智能模型如何重塑康复辅助设备
  • 如何理解AP中SM中宿主进程?
  • 另类的pdb恢复方式
  • 第十四节:物理引擎集成:Cannon.js入门
  • python自学笔记9 Seaborn可视化
  • 【100页PPT】数字化转型集团信息化总体解决方案(附下载方式)
  • 【机器人-基础知识】ROS1和ROS2对比
  • shell脚本实现sha256sum校验并拷贝校验通过的文件