Description

题目描述

打印一个字母圣诞树。

输入

第一行是一个整数K,表示样例的个数。以后每个样例是一个大写英文字母,占一行。

输出

输出对应的字母圣诞树,每行末尾没有空格,每个圣诞树的最后一行前无空格。

样例输入

5
A
B
C
D
E

样例输出

 A
AAAAAAAB
BBBBBAAAABBBBBBC
CCCCCCCAAAABBBBBBCCCCCCCCD
DDDDDDDDDAAAABBBBBBCCCCCCCCDDDDDDDDDDE
EEEEEEEEEEE

思路分析:不难看出,这题的输出分为奇数行和偶数行,因此我们应该分别处理,奇数行较为简单,而偶数行就需要分析。不妨先对奇数行进行分析,假设存在6行,那么奇数行前面的空格就只有三个即n/2个空格,对于 偶数行,令第一行i=0,则依次到i=5,用j控制空格,k控制字母当i=1时A前面有两个空格,当i=3时B前面有一个空格,当i=5时C前面有零个空格。再根据这个递推关系找到j与n,i之间的关系就可以控制空格的最大数量.之后再看偶数行的字母,容易得到,字母数量为i+2即k<i+3.

#include<stdio.h>
#include <iostream>
using namespace::std;
int main()
{int a;cin >> a;for (int i = 0; i < a; i++){//行数确定:char ch;char ch1 = 'A';char ch2;cin >> ch;int n = (ch - 64) * 2;//确定行数;//总体的循环for (int i = 0; i < n; i++){//对于偶数行if (i == 0 || i % 2 == 0){for (int j = 0; j < n / 2; j++)//对于空白{cout << " ";}ch2 = ch1 + i / 2;cout << ch2 << endl;}//对于奇数行if (i == 1 || (i - 1) % 2 == 0){for (int j = 0; j < (n - i - 1) / 2; j++){cout << " ";}ch2 = ch1 + (i - 1) / 2;for (int k = 0; k < i + 2; k++)//对于字母{cout << ch2;}cout << endl;}}}}

XTU OJ 2022 128题之字母圣诞树相关推荐

  1. 一道oj题-字母圣诞树

    一道oj题-字母圣诞树 字母圣诞树 题目描述打印一个字母圣诞树. 输入第一行是一个整数K,表示样例的个数.以后每个样例是一个大写英文字母,占一行. 输出输出对应的字母圣诞树,每行末尾没有空格,每个圣诞 ...

  2. XTU OJ 1137 字母圣诞树

    字母圣诞树 Description 题目描述 打印一个字母圣诞树. 输入 第一行是一个整数K,表示样例的个数.以后每个样例是一个大写英文字母,占一行. 输出 输出对应的字母圣诞树,每行末尾没有空格,每 ...

  3. CSU2020期中测试模拟题2 问题 B: 字母圣诞树

    问题 B: 字母圣诞树 题目描述 打印一个字母圣诞树. 输入 多组样例,第一行为样例的个数,接下来每个样例是一个大写英文字母,占一行. 输出 输出对应的字母圣诞树,每行末尾没有空格,每个圣诞树的最后一 ...

  4. XTU OJ 1324 Hash

    XTU OJ 1324 Hash Hash 题目描述 H a s h Hash Hash是一种很常用的数据结构,Hash技术的关键在于Hash函数的选取. 一种常用整数的 H a s h Hash H ...

  5. BNU OJ 第26303 题 Touchscreen Keyboard

    BNU OJ第26303题Touchscreen Keyboard(题目链接)的解题报告. 原题如下: Touchscreen Keyboard Problem Description Nowaday ...

  6. XTU OJ 1375 Fibonacci

    XTU OJ 1375 Fibonacci 题目描述 小明非常喜欢FibonacciFibonacciFibonacci数列,数列为 f1=1,f2=2,fn=fn−1+fn−2f_1=1,f_2=2 ...

  7. XTU OJ 1355 Euler‘s Totient Function(欧拉函数)

    XTU OJ 1355 Euler's Totient Function(欧拉函数) 题目描述 对于整数n,定义ϕ(n)ϕ(n)ϕ(n)为小于或等于n,并与n互质的整数的个数,比如6,比它小的和它互质 ...

  8. 杭电oj1620题c语言答案,杭电oj部分水题 c语言源代码.doc

    杭电oj部分水题 c语言源代码 殿剐忱酪短祭幂曝沈脸蛀蓑挞姻扶宠秤蓄幌榆矾巨旷于渍弯史影得熄孟椒菊葫彦籍蛛绊趣庙捣载睹答赊索添垛蝎伙生瞎回悟辅篇狱辗歧病氯急迸怜煽跋屋凡逻甲确烧迟卞姻郸被康少辊蒂刽厂礁 ...

  9. 每日一题-英文字母排序

    title: 每日一题–英文字母排序 date: 2019-10-31 14:01:43 tags: 每日一题 算法 116.英文字母排序 (20分) C时间限制:3000 毫秒 | C内存限制:30 ...

最新文章

  1. String Reduction问题分析
  2. VMware9安装Ubuntu 12.10图文详细教程
  3. Servlet规范之Listener工作原理
  4. 常见Windows硬件故障
  5. 使用sharding-jdbc实现水平分表
  6. PAD-Net: Multi-Tasks Guided Prediction-and-Distillation Network for Simultaneous Depth Estimation an
  7. java语言程序设计 第八版 基础篇_Java语言程序设计基础篇(第八版)编程8.7答案
  8. halcon学习资料
  9. 如何找到Google浏览器扩展程序在本地文件夹中的位置?
  10. Java调用WebService接口实现发送手机短信验证码功能,java 手机验证码,WebService接口调用
  11. 什么是平面设计?平面设计主要做什么?
  12. python线性方程组求解_用Python的Numpy求解线性方程组
  13. 柱状图、直方图、散点图、饼图讲解
  14. CAD2018安装计算机黑屏,3dmax2018一打开就闪退的三种原因和解决方法
  15. matlab 毕业答辩,MATLAB的答辩.ppt
  16. python vlookup_多条件python中的Vlookup
  17. Spring Mybatis-Plus一键代码结构生成
  18. qst -sim 出现 license 错误
  19. ubuntu16.04安装ROS Kinetic步骤及安装出现的问题解决
  20. python程序怎样在windows运行

热门文章

  1. Tomcat启动闪退解决
  2. 【数字通信】通俗易懂理解正交幅度调制(Quadrature Amplitude Modulation,QAM也叫幅相调制)
  3. 三防漆喷涂工艺正确方法和注意事项(SKYWAY伟天三防漆)
  4. 我的硬盘居然被win10安装工具_Win10系统安装教程(官方工具)
  5. 暗光环境下的公开数据集-ExDark数据集,转YOLO格式
  6. sql注入--布尔盲注
  7. 单片机智能遥控小车实战
  8. 制作抓取APP崩溃和无响应日志的小工具
  9. 路由器工作原理以及eNSP静态路由配置
  10. FCN:Fully Convolutional Networks for Semantic Segmentation