打印字母图形
由键盘输入一个大写字母(A 到 Z 中的任意一个),输出如下图所示由相关大写字母组成的图形。所输入的字母一定为输出文件的第一个字符(位于图形的左上角),其余部分的字母构成规律和分布由样例给出。
输入格式
输入只有一行,仅为一个大写字母。
输出格式
输出包含一个如样例所示的图形。注意图形的行数与输入的字母有关,图形中的第一行最左侧一定是你输入的那个字母。
样例输入1
C
样例输出1
CBAAB
  BAA
    A
样例输入2
E
样例输出2
EDCBAABCD
  DCBAABC
    CBAAB
      BAA
        A
题目来源
2016 年海淀区中小学生信息学奥林匹克竞赛

问题链接:JSK-16014 打印字母图形
问题描述:(略)
问题分析
    这是一个打印图案问题。关键是找出其中的规律与关系。
    对于输入的字母,首先要先算出需要打印几行,以便程序控制输出的行数。
    实际上,输出的每一行包括三部分组成,空格、字符串和换行。其数量都与行数成函数关系。这种函数关系在程序中通常是用表达式给出的,并写在程序中。
    这个问题的另外一个关键的输出的字符是有规律变化的,程序中用函数nextchar()来计算下一个输出的字符。用程序计算这种变化规律,相比数学公式来说更加方便灵活。
程序说明:(略)
参考链接:(略)
题记:规律与关系尤为重要。

AC的C语言程序如下:

/* JSK-16014 打印字母图形 */#include <stdio.h>char c, a;
int step;
char nextchar(char a)
{if(a == 'A' && step == -1) {step = -step;c--;return a;} else if(a == c && step == 1) {step = -step;return a;} elsereturn a + step;
}int main(void)
{int n, i, j;scanf("%c", &c);a = c;n = c - 'A' + 1;step = -1;for(i = 0; i < n; i++) {for(j = 0; j < i; j++)putchar(' ');for(j = 0; j < 2 * (n - i) - 1; j++) {putchar(a);a = nextchar(a);}putchar('\n');}return 0;
}

JSK-16014 打印字母图形【打印图案】相关推荐

  1. python打印字母图形2

    任务描述 本关任务:编写一个程序,输入大写字母,打印字母图形.例如,输入字母E,打印图形如下: A AB ABC ABCD ABCDE 编程要求 根据提示,在右侧编辑器补充代码,根据输入大写字母,打印 ...

  2. python打印字母图形3

    本关任务:编写一个程序,输入大写字母,打印字母图形.例如,输入字母E,打印图形如下: A ABA ABCBA ABCDCBA ABCDEDCBA 编程要求 根据提示,在右侧编辑器补充代码,根据输入的大 ...

  3. Problem I: 打印字母菱形图案

    计算机学院c语言2017年期末考试 Problem I: 打印字母菱形图案 Description 从键盘输入一个整数n(1≤n≤10),打印出指定的数字图形. Input 正整数n(1≤n≤10). ...

  4. Problem G: 打印字母菱形图案

    Problem G: 打印字母菱形图案 Time Limit: 1 Sec  Memory Limit: 16 MB Submit: 392  Solved: 209 [Submit][Status] ...

  5. 江苏大学2006年程序设计压轴题 编程打印如下图形,中间一行英文字母由输入得到,图形随输入英文字母的变化而变化。例如,输入英文字母A得到的图形为:A

    题目: 编程打印如下图形,中间一行英文字母由输入得到,图形随输入英文字母的变化而变化. 例如,输入英文字母A得到的图形为: 输入英文字母B得到: 输入英文字母D得到的图形为: 思路分析 把图形看作是上 ...

  6. YTU 1495 蛇行矩阵 YTU 1607 字符棱形YTU 1959 图案打印YTU 2016 打印金字塔

    YTU1495: 蛇行矩阵 题目描述: Time Limit: 1 Sec  Memory Limit: 64 MB 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形. Input 本题有多组数 ...

  7. C语言——简单图形打印学习

    A.输出直角三角形 首先,先看一道简单的例题 题目描述 本题要求编写程序,输出指定的三角图案. 输入 输入一个整数 输出 1.按照下列格式输出由"*"组成的三角图案. (1)初学者 ...

  8. 6.2_[Java 数组]-利用二重循环打印各种图形

    ################################################## 目录 玩坏二重循环 一句话概括二重循环 打印一个矩形 打印正直角三角形左下角顶点 打印倒直角三角形 ...

  9. python打印爱心图形以及动态描绘彩色爱心

    黑白爱心图形打印,内容只有英文字符才能完整描绘心形 def A(S,b):s="\n".join(["".join([(S[(x-y) % len(S)] \i ...

最新文章

  1. Android TrafficStats类的使用
  2. getbean方法找不到bean_和平精英:一直找不到敌人?5个方法,让你彻底摆脱“瞎子”...
  3. 数据库SQL基础知识点
  4. Error:java: 无效的目标发行版: 11解决方案
  5. (字节/华为/美团)前端面经记录冷冷清清的金三银四
  6. How many ways HDU - 1978(记忆化搜索关于求多少种方式模板)
  7. VS2010,C++ 制作静态库(*.lib),并使用
  8. 创建一个Windows Service应用程序
  9. Asp.Net MVC中使用ACE模板之Jqgrid
  10. 解决“Linux无法登录,显示module is unknown”问题
  11. 32添加组件_软件开发32条法则:经过实践检验的实用建议和经验教训
  12. POJ 1001 Exponentiation
  13. transform.rotation和GetComponentRigidbody().MoveRotation
  14. shell脚本导出oracle数据库,Shell脚本备份恢复Oracle数据库简单示例
  15. 怎么让jsp中的按钮置灰不能使用_拆解按钮规范
  16. arm 环境下安装selenium+chrome
  17. c语言键盘函数空格,C语言中关于scanf函数的用法
  18. 最全的关于硬件测试的解读
  19. 苹果手机电池怎么保养_手机电池损耗检测,电池修复软件
  20. 图像滤镜艺术---(Sketch Filter)素描滤镜

热门文章

  1. 走火入魔的 C/C++ 如何通过编译器预定义的宏值来区分 target OS 是 Windows 还是 Linux...
  2. mysql 1690_mysql error BIGINT UNSIGNED value is out of range in 解决办法
  3. ASP.NET——C#文件夹创建与文件存在判断
  4. 工程与ArcGIS api for javascript不在同一个tomcat情况下跨域问题
  5. ArcGIS JS API 4 —— GET https://static.arcgis.com/fonts/simsun-regular/37888-38143.pbf 404
  6. Unity实现3D物体叠加到摄像头画面上
  7. 官方文档——一篇文章弄懂Flutter中的布局
  8. go mod 几个常用命令
  9. Adobe AIR移动App的互相调用实现方式
  10. Box2D物理引擎的使用方法