2023 年 03 月 二级真题(1)--画三角形

【题目】

输入一个正整数 n,请使用大写字母拼成一个这样的三角形图案(参考样例输入输出):三角形图案的第 1 行有 1 个字母,第 2 行有 2 个字母,以此类推; 在三角形图案中,由上至下、由左至右依次由大写字母 A-Z 填充,每次使用大写字母 Z 填充后,将从头使用大写字母 A 填充。 【输入描述】

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

【输出描述】

输出符合要求的三角形图案。注意每行三角形图案的右侧不要有多余的空格。

【样例输入 1】

3

【样例输出 1】

A

BC

DEF

【样例输入 2】

7

【样例输出 2】

A

BC

DEF

GHIJ

KLMNO

PQRSTU

VWXYZAB

【解题思路】

所有图形的输出都需要用到双层循环,外层循环控制输出多少行,内层循环控制每一个输出内容和个数。

字母连续输出只需要每输出完当前字母后,该变量+1,为下一次输出做准备,但是当变量+1后值超过了Z,则表示当前输出了Z,下一次要输出A,需要将变量重新赋值A,准备下一次输出。

【代码】

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int main()
{

  int n;
  cin>>n;
  char ch='A';//首字母
  for(int i=1;i<=n;i++)//外层循环控制行
  {  for(int j=1;j<=i;j++)//内层循环控制第i行输出i个字母
    {
      
      cout<<ch;
      ch+=1;//字母从A开始输出,每输出完当前字母后,字母+1,下一次输出下一个字母
      if(ch>'Z')//当字母+1大于Z后,表示上一个字母输出的是Z,下一次,要从A开始输出
        ch='A';
    }
    cout<<endl;
  }    
      
  return 0;
}
相关推荐
会编程的小孩6 小时前
C++ qt的安装
c++
企业数字化笔记9 小时前
视频人体姿态怎么做三维可视化?2D关键点、深度局限与技术选型
人工智能·算法·音视频
?abc!9 小时前
(数组)581. 最短无序连续子数组
数据结构·算法·leetcode
小成2023032026512 小时前
C++~07补充
开发语言·c++
小郎君65812 小时前
MPTT树复选框的半选状态:一棵百万节点树从递归到计数器,再到区间覆盖
算法
酌沧12 小时前
MemT让记忆成为模型内生能力
jvm·人工智能·算法
hold?fish:palm12 小时前
40 二叉树的直径
c++·leetcode
Shimeri13 小时前
越卷越像:我用遗传算法做了个"内卷"实验
算法·three.js·数据可视化·遗传算法·进化算法
解决小子13 小时前
【虚幻引擎】【C++】【GAS框架】构建角色基类、属性集、数值钳制
c++·笔记·游戏引擎·虚幻·gas·能力系统
Evand J13 小时前
【PMSM例程1】永磁同步电机(PMSM)转速与转子电角度观测算法|基于扩展卡尔曼滤波(EKF)的传感器状态估计与误差。附下载链接
算法·电机·1024程序员节·卡尔曼滤波