c语言打印字符图案,C语言-打印字符图形.doc
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相关推荐
- Spring Boot 启动 Logo 修改 字符图案 只支持ASCII字符
Spring Boot 启动 Logo 修改 字符图案 只支持ASCII字符 参考网址:http://patorjk.com/software/taag gitee的pages:https://win ...
- 打印菱形图案c语言pta,C语言的考试题型
亿点点(就是我见到的不会的题目的一个小合集) 文件的大题分析 认清楚地址和数值的 1.指针纠错 1.**int (p)[4]表示一个指针指向一个四位的数组 int p[4]表示一个指针数组 int * ...
- c语言 编程显示图案*,C语言中怎么编程在计算机屏幕上显示如下图案?
满意答案 aggaskd2a 2013.07.14 采纳率:41% 等级:11 已帮助:5656人 #include int main() { int i, j; for(i = 0; i &l ...
- c语言制作漏斗图案,电子课程设计-电子漏斗.doc
电子课程设计-电子漏斗 电子课程设计 课题:电子漏斗 系 别:电子信息系专业名称:电子信息科学与技术学生姓名:学 号:指 导 教 师 姓 名 : 目录 1.摘要-------------------- ...
- C++打印STAIRS 图案算法(附完整源码)
C++打印STAIRS 图案算法 C++打印STAIRS 图案算法完整源码(定义,实现,main函数测试) C++打印STAIRS 图案算法完整源码(定义,实现,main函数测试) /* @brief ...
- c语言用星号输出大写字母H,如何在C语言中用星号或自定义字符打印方形图案
如果你是学生, 则可能必须解决用某些预定义的编程语言打印带有X长度的某些字符(通常是星号)的正方形的问题.在这种情况下, 我们将向你说明如何使用C语言实现. 在控制台上打印带有字符的正方形的逻辑如下. ...
- python语言打印菱形_Python 实现打印单词的菱形字符图案
Python 实现打印单词的菱形字符图案 我就废话不多说了,还是直接看代码吧! a = [1, 2, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2, 1] b = [' ' * 2 * ( ...
- C语言打印各种图案合集
1.C语言打印菱形图案 题目描述: 输入一个正整数 n,并输出一个菱形,这个菱形有 2n−1 行,第一行有 2 个字母 A,之后的 n−1 行每行字母 A 的数量会递增 2 个,后面的 n+1 行至 ...
- 检测是否输入字母c语言程序,C语言判断字符是否为可打印字符的方法
C语言isprint()函数:判断字符是否为可打印字符头文件: #include isprint() 函数用来判断一个字符是否为打印字符,其原型为: int isprint(int c); [参数]c ...
- C语言试题八十一之利用递归函数调用方式,将所输入的5个字符,相反顺序打印
1.题目 利用递归函数调用方式,将所输入的5个字符,相反顺序打印 2 .温馨提示 C语言试题汇总里可用于计算机二级C语言笔试.机试.研究生复试中C程序设计科目.帮助C语言学者打好程序基础.C语言基础, ...
最新文章
- 非递归一次性加载分类数据到TreeViw
- 简单介绍python3判断IP地址的方法
- ListView已到底部和顶部的判断
- 关于单链表的头插法和尾插法
- 为什么WordPress网站应尽量避免使用过多插件
- C语言编程中关于负数的%运算的判定。
- 解决 Windows 端口被占用问题
- 设计模式的征途—1.单例(Singleton)模式
- java虚拟机内存不足,“Could not create the Java Virtual Machine”问题解决方案
- 详解PWM原理、频率与占空比
- python实践日记二
- java实现求调和数列的和,即:1/1 + 1/2 + ... + 1/n
- easypoi 语法_高中英语必修1选修8 quot;语法quot;重难点清单(全八册)
- mp2551总线收发器芯片作用_高速CAN收发器MCP2551
- mmo中匹配机制的思考与实现
- CSS中Float概念相关文章采撷
- 与广东未来科技:怀揣初心,并肩同行
- 2017.05.19随笔
- Android模拟器超出电脑屏幕的解决方法
- 《物联网开发实战》18 场景联动:智能电灯如何感知光线?(上)(学习笔记)