c语言倒字母金字塔,C语言编程实现可移动的“字母金字塔”程序教学探讨

1 引言

程序的效果是要在屏幕上产生一个如图1所示的“字母金字塔”在屏幕上完成从左至右的移动的动态过程。

这个问题的解决,我们按照下面几个步骤来完成:

2 首先按照先易后难的原则,编程完成一个静态的“字母金字塔”

可以用循环及循环的嵌套来实现。

(1)首先这个金字塔是由26行组成,可设一个循环变量i来控制行的变化,i依次由1循环变到26,这是一个外层循环,i增加1,就输出打印出一行的全部内容。

(2)当行i确定后,每一行里又是由若干个空格和若干个字符组成,这可用二个内层循环来实现。假设用j来控制每一行里的空格数,用k来控制每一行里的字符数,下面我们列表来分析一下,当行i确定以后,每一行里最大空格数、最大字符数、字符对应的A S C I I码的变化规律C。

行数i空格数j字符数k字符的ASCII码

显然当外层循环i值确定后,内层空格j循环的终值为26-i,内层字符数k循环的终值为2*i-1,对应同行上的字符的a s c i i码值为:65+i-1即64+i。这样我们就可以方便地写出实现这个静态的“字母金字塔”的C程序的源代码如下:

{

{

}

}

3完成可在屏幕上向右移动的“字母金字塔”

可以这样来考虑,每执行一次上面的循环可完成一个“字母金字塔”。我们可再设计一个更外层的循环,每循环一次将“字母金字塔”整体向右移动一个空格,也就是

每一行的空格数增加一个,然后将前面一个“金字塔”清屏删除掉,为产生下一个向右整体移动一格的“字母金字塔”做准备。

因此我们在上面的源程序i循环变量的外面再设计一个循环变量kk来控制“字母金字塔”向右移动的空格数,例如移动100个空格,这样我们可以让kk从1变到100,终值为100,k k每循环一次,上面的循环执行一次。完成一次k k循环后,就会生成一个完整的“字母金字塔”,然后我们要清屏删除掉(可用D o s的清屏命令来实现:system(“cls”);),以便供下一个整体向右移动一格的“字母金字塔”生成。最后整个“字母金字塔”在屏幕上就完成了向右移动的过程。

实现这个功能的源程序代码如下:

{

{

for(i=1;i<=26;i++)

{

}

}

}

4结语

通过这个程序的实现,可以让学生体会C语言的循环及循环的嵌套功能非常强大,它能实现很多意想不到的功能,“只有你想不到的,没有它做不到的”,从而提高学生学习C语言的积极性,为今后编程打下坚实的基础。C语言编程实现可移动的“字母金字塔”程序教学探讨@江军$电子科技大学成都学院!四川成都611731本文是关于学生在学习了C语言循环及循环嵌套的知识后,为了增加学生学习的兴趣性,应用所学知识编程实现一个可移动的"字母金字塔"的程序探讨。C语言;;编程;;教学

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值