C语言,实现字符的渐变,动态化。

  如何实现将一句话进行动态打印?而非直接打印出来例如“welcome to China!!!”,这样显得呆板且干滞。如果使得字符从两边向中间动态汇聚,就会呈现出美观的效果。

  其实我们可以采用两组数组,用两串字符实行多次的单个字符替换来达到想要的效果。我们将最左侧的字符数组下标设为 left ,最右侧的字符数组下标为字符串的长度-1(因为字符下标是从零开始的)。那么如何表示字符数组的字符串长度呢。我们可以设 sz = sizeof(arr)/ sizeof(arr[0])。这样暂时实现了所需要变量的定义。

 接下来便是要实现操作了,多次打印,每次替换一个字符,使字符从两边向中间进行 汇聚,显然可以每打印一次将left ++,right--。当left与right相交时停止操作,那么我们可以用while语句来实现操作。

 这里我们加入了Sleep函数来执行系统命令,使得每次打印后停留1秒,便于我们观察。(需要注意:使用此函数时须引头文件<windows.h>并且首字母应大写)如此得到如下运行结果

  当然如果觉得这样做太繁冗,不够简洁,我们可以每次打印之后使用 system ("cls"); 及时清空屏幕(需要注意的是,最好在while循环外再打印一次字符串,否则,最后一次打印的结果也会被清空),另外如果将*****用空格代替,将实现字符从两边向中间汇聚的效果看起来更加简洁。 

  当然,如果去掉right --,就会实现一句话从左到右逐个字符进行打印,如此一来,一句话就变得生动,跳跃,有活力喽!

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值