77范文网 - 专业文章范例文档资料分享平台

C语言-打印字符图形

来源:网络收集 时间:2018-12-17 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

打印字符图形

例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(\ printf(\}

说明:对付这种字符图形,一般用两重循环,外循环遍历所有行,内循环遍历行中每个字符。

例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(\ printf(\ } }

例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(\

下面分析每一行中的空格数与字符数与第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(\

合起来,构成一个完整程序如下: #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(\ printf(\ } }

例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(\

for(k=1;k<=7-2*i;++k) /*输出“*”号*/ printf(\

合起来,构成一个完整程序如下: #include main()

{ int i,j,k;

for(i=1;i<=4;i++) {

for(j=1;j<=4-i;++j) /*输出空格数*/ printf(\

for(k=1;k<=2*i-1;++k) /*输出“*”号*/ printf(\ printf(\ }

for(i=1;i<=3;i++) {

for(j=1;j<=i;++j) /*输出空格数*/ printf(\

for(k=1;k<=7-2*i;++k) /*输出“*”号*/ printf(\ printf(\ } }

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言-打印字符图形在线全文阅读。

C语言-打印字符图形.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/367786.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: