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 --,就会实现一句话从左到右逐个字符进行打印,如此一来,一句话就变得生动,跳跃,有活力喽!
C语言,实现字符的渐变,动态化。相关推荐
- R语言将字符型(Character)变量转化为数值型(Numeric)
R语言将字符型(Character)变量转化为数值型(Numeric) 目录 R语言将字符型(Character)变量转化为数值型(Numeric) #基本语法
- c++ 字符串合并_C语言输入字符和字符串(所有函数大汇总)
C语言输入字符和字符串(所有函数大汇总) C语言有多个函数可以从键盘获得用户输入,它们分别是: scanf():和 printf() 类似,scanf() 可以输入多种类型的数据. getchar() ...
- c语言基本字符集ppt,C语言的字符集和保留字知识讲稿.ppt
C语言的字符集和保留字知识讲稿.ppt 第一章 概述 重点: C语言的字符集和保留字: C语言词类和语句的分类: C程序的基本结构. 程序--是对解决某个问题的方法的描述: 对计算机来说:程序是用某种 ...
- C语言中字符型和字符串型的对比
C语言中字符型和字符串型的对比 字符型: C语言中字符用单引号括起来,存储方式以ASCII编码二进制形式存储,占用一个字节 如:'a','b','c','A'等 注意:在C语言 ...
- C语言中字符数组的初始化与注意事项
在C语言中字符数组的初始化有三种常见的方法: char a[5] = {'a','b','c','d','e'};char c[] = {'a','b','c','d','e'};char b[] = ...
- linux 时间戳 c语言,C语言实现字符转unix时间戳
C语言实现字符转unix时间戳,需要先转成tm类型,再得到它的Unix时间戳.附上实现代码: #include #include int strtotime(char datetime[]) { st ...
- C语言以字符形式读写文件
C语言以字符形式读写文件 在C语言中,读写文件比较灵活,既可以每次读写一个字符,也可以读写一个字符串,甚至是任意字节的数据(数据块). 以字符形式读写文件时,每次可以从文件中读取一个字符,或者向文件中 ...
- c语言 字符串字符反向储存_C ++中的反向字符串
c语言 字符串字符反向储存 In many situations, we may need to reverse a string in C++ programming. It may include ...
- RHEL7及CentOS7的语言、字符编码、键盘映射、X11布局设置(localectl)-系统管理(1)...
这几天在阅读Red Hat Enterprise Linux 7的官方文档,发现了一些比之前有较大改善的系统管理方式,准备用一个系列的文章来分享一下自己的阅读.学习心得.在系统管理指导的开篇就提到了语 ...
- C语言中将字符数字转换为数值的小技巧和方法
C语言中将字符char类型数字转换为int类型数值的小技巧 字符0~9通过减去字符'0'可以获得数值,原理是ASCII码中,字符0~9对应的ASCII值与字符'0'的差值即为数值.如:字符'9'的AS ...
最新文章
- 遗传算法中的选择操作
- word中复制、双击打开编辑公式(Axmath/mathtype)出现卡死(无响应)现象的解决方案
- jvm类加载机制总结
- OpenCV2.4.9 For Android + Android Studio (with gradle)配置教程
- java的dispatcher_Java RequestDispatcher 详解
- 沈阳大学计算机系教师,张春芳(信息工程学院)老师 - 沈阳大学 - 院校大全
- input date保存值_涛哥文集(36):R keras保存和还原模型
- 从没想过会有一个这样的机会|大疆招聘
- shell 提取sql 的字段名表名_Mysql 常用SQL语句集锦(仅学习)
- 笨办法学 Python · 续 练习 17:字典
- discuz mysql 优化_Discuz X系统:【效率机制】-【MySQL 优化】详解
- 2017-2018-1 20155317 《信息安全系统设计基础》第四周学习总结
- Java Integer常量池——IntegerCache内部类
- vue +element 导出多级表头(标题)
- IEEE_Tec_Digtal Signal Analog Signal
- Bridge(桥模式)
- 原子结构示意图全部_原子结构示意图和元素及元素周期表
- RFID 射频识别技术 NFC ISO14443 - A 协议 RC522
- python发微信给手机充值话费_微信充话费如何自定义金额?最低1元起充的技巧...
- c语言stdin输入字符,scanf如何从stdin中读取数据的