C语言-打印字符图形

打印字符图形

例1 用for循环编程画出下列图形:

M

MM

MMM

MMMM

MMMMM

MMMMMM

MMMMMMM

MMMMMMMM

MMMMMMMMM

MMMMMMMMMM

分析:该图形一共有10行,每一行增加一个字符,所以,应循环10次,每次输出一行,其循环模式为:

for i 1;i 10;i++ 输出第i行

换行 “输出第i行”是在for循环中的一个小循环。每次执行“输出第i行”,其长度都是不一样的,但长度的变化正好与循环变量i同步,故可以依赖于i。注意到第i行的M字符数与i的关系。

行 i M数

1 1 1

2 2 2

3 3 3

4 4 4

10 10 10

所以,可以得到“输出第i行”的循环为:

for j 1;j i;j++ printf “%c”,’M’

完整的程序如下:

#include

main int i,j;

for i 1;i 10;i++ for j 1;j i;j++ printf "%c",'M' ; printf "\n" ; 说明:对付这种字符图形,一般用两重循环,外循环遍历所有行,内循环遍历行中每个字符。

例2 输出下列图形:

MMMMMMMMMMMMMMMMMMM

MMMMMMMMMMMMMMMMM

MMMMMMMMMMMMMMM

MMMMMMMMMMMMM

MMMMMMMMMMM

MMMMMMMMM

MMMMMMM

MMMMM

MMM

M

分析:该图形一共有10行,这次要考虑每行中,先输出若干个空格,所以,其外循环为:

for i 1;i 10;i++ 输出若干个空格

输出若干M

换行 下面列出在第i行,其空格数,M数与i的关系为:

行i 空格数 M数

1 0 19

2 1 17

3 2 15

4 3 13

10 9 1

即第i行的空格数为i-1个,M个数为21-2i。即在第i行输出空格和输出M字符的内循环分别为:

for j 1;j i-1;j++

printf “ ” ;

for k 1;k 21-2i;k++

printf “%c”,’M’ ;

合起来,构成一个完整程序如下:

#include

main int i,j,k;

for i 1;i 10;i++ for j 1;j i-1;j++ printf " " ; for k 1;k 21-2*i;k++ printf "%c",'M' ; printf "\n" ; 例3 输出下列图形:

A

ABC

ABCDE

ABCDEFG

ABCDEFGHI

ABCDEFGHIJK

ABCDEFGHIJKLM

ABCDEFGHIJKLMNO

ABCDEFGHIJKLMNOPQ

ABCDEFGHIJKLMNOPQRS

分析:该图形一共有10行,这次要考虑每行中,先输出若干个空格,所以,其外循环为:

for i 1;i 10;i++ 输出若干个空格

输出若干字符

换行 如果要输出A起头依序的n n 27 个字母,可以为:

for ch 'A';ch 'A'+n;++ch printf "%c",ch ;

下面分析每一行中的空格数与字符数与第i行之间的关系着手:

行i 空格数 字符数

1 9 1

2 8 3

3 7 5

4 6 7

10 0 19

即第i行的空格数据为10-i个,字符数为2i-1。因此,输出空格数和字符数的内循环分别为:

for j 1;j 10-i;++j /*输出空格数*/ printf " " ;

for ch 'A';ch 'A'+2*i-1;++ch printf "%c",ch ;

合起来,构成一个完整程序如下:

#include

main int i,j;

char ch;

for i 1;i 10;i++ for j 1;j 10-i;++j /*输出空格数*/ printf " " ; for ch 'A';ch 'A'+2*i-1;++ch /*输出字符*/ printf "%c",ch ; printf "\n" ; 例4 输出下列图形: *

***

*****

*******

*****

*** *

上面的图形可以分成两部分:

(1)

*

***

*****

*******

与例3的分析一样,输出空格数和字符数的内循环分别为:

for j 1;j 4-i;++j /*输出空格数*/ printf " " ;

for k 1;k 2*i-1;++k /*输出“*”号*/ printf "*" ;

(2)

*****

*** *

与例2的分析一样,输出空格数和字符数的内循环分别为:

for j 1;j i;++j /*输出空格数*/ printf " " ;

c语言打印字符图案,C语言-打印字符图形.doc相关推荐

  1. Spring Boot 启动 Logo 修改 字符图案 只支持ASCII字符

    Spring Boot 启动 Logo 修改 字符图案 只支持ASCII字符 参考网址:http://patorjk.com/software/taag gitee的pages:https://win ...

  2. 打印菱形图案c语言pta,C语言的考试题型

    亿点点(就是我见到的不会的题目的一个小合集) 文件的大题分析 认清楚地址和数值的 1.指针纠错 1.**int (p)[4]表示一个指针指向一个四位的数组 int p[4]表示一个指针数组 int * ...

  3. c语言 编程显示图案*,C语言中怎么编程在计算机屏幕上显示如下图案?

    满意答案 aggaskd2a 2013.07.14 采纳率:41%    等级:11 已帮助:5656人 #include int main() { int i, j; for(i = 0; i &l ...

  4. c语言制作漏斗图案,电子课程设计-电子漏斗.doc

    电子课程设计-电子漏斗 电子课程设计 课题:电子漏斗 系 别:电子信息系专业名称:电子信息科学与技术学生姓名:学 号:指 导 教 师 姓 名 : 目录 1.摘要-------------------- ...

  5. C++打印STAIRS 图案算法(附完整源码)

    C++打印STAIRS 图案算法 C++打印STAIRS 图案算法完整源码(定义,实现,main函数测试) C++打印STAIRS 图案算法完整源码(定义,实现,main函数测试) /* @brief ...

  6. c语言用星号输出大写字母H,如何在C语言中用星号或自定义字符打印方形图案

    如果你是学生, 则可能必须解决用某些预定义的编程语言打印带有X长度的某些字符(通常是星号)的正方形的问题.在这种情况下, 我们将向你说明如何使用C语言实现. 在控制台上打印带有字符的正方形的逻辑如下. ...

  7. python语言打印菱形_Python 实现打印单词的菱形字符图案

    Python 实现打印单词的菱形字符图案 我就废话不多说了,还是直接看代码吧! a = [1, 2, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2, 1] b = [' ' * 2 * ( ...

  8. C语言打印各种图案合集

    1.C语言打印菱形图案 题目描述:​ 输入一个正整数 n,并输出一个菱形,这个菱形有 2n−1 行,第一行有 2 个字母 A,之后的 n−1 行每行字母 A 的数量会递增 2 个,后面的 n+1 行至 ...

  9. 检测是否输入字母c语言程序,C语言判断字符是否为可打印字符的方法

    C语言isprint()函数:判断字符是否为可打印字符头文件: #include isprint() 函数用来判断一个字符是否为打印字符,其原型为: int isprint(int c); [参数]c ...

  10. C语言试题八十一之利用递归函数调用方式,将所输入的5个字符,相反顺序打印

    1.题目 利用递归函数调用方式,将所输入的5个字符,相反顺序打印 2 .温馨提示 C语言试题汇总里可用于计算机二级C语言笔试.机试.研究生复试中C程序设计科目.帮助C语言学者打好程序基础.C语言基础, ...

最新文章

  1. 非递归一次性加载分类数据到TreeViw
  2. 简单介绍python3判断IP地址的方法
  3. ListView已到底部和顶部的判断
  4. 关于单链表的头插法和尾插法
  5. 为什么WordPress网站应尽量避免使用过多插件
  6. C语言编程中关于负数的%运算的判定。
  7. 解决 Windows 端口被占用问题
  8. 设计模式的征途—1.单例(Singleton)模式
  9. java虚拟机内存不足,“Could not create the Java Virtual Machine”问题解决方案
  10. 详解PWM原理、频率与占空比
  11. python实践日记二
  12. java实现求调和数列的和,即:1/1 + 1/2 + ... + 1/n
  13. easypoi 语法_高中英语必修1选修8 quot;语法quot;重难点清单(全八册)
  14. mp2551总线收发器芯片作用_高速CAN收发器MCP2551
  15. mmo中匹配机制的思考与实现
  16. CSS中Float概念相关文章采撷
  17. 与广东未来科技:怀揣初心,并肩同行
  18. 2017.05.19随笔
  19. Android模拟器超出电脑屏幕的解决方法
  20. 《物联网开发实战》18 场景联动:智能电灯如何感知光线?(上)(学习笔记)

热门文章

  1. 使用DSP28335控制三相三电平PWM整流器-软启动
  2. 钉钉群机器人关键词自动回复_自动化运维平台Spug测试
  3. 工商管理专业知识与实务(初级)【7】
  4. 项目管理笔记-第十章 项目沟通管理
  5. 高考前最后一天,AI 监考老师已就位
  6. VelocityTracker 使用
  7. PackageManager的基本使用
  8. DoS和DDoS攻击
  9. 计算机二级教程48讲视频,天津大学 《线性代数》视频教程48讲 真人手写精品
  10. 多尺度(有限元)降阶模型下的DNN方法