演示多个字符从两端向中间移动

文章讲述了如何使用C语言创建一个动态效果,通过#字符从两端向中间移动。通过`Windows.h`和`stdlib.h`库中的`system`和`Sleep`函数实现屏幕清空及延时,以观察字符移动过程。
摘要由CSDN通过智能技术生成

        杰克今天想要试试使用c语言实现一个动态的效果,让两边的字符向中间移动,我们来看看他是怎么实现的吧。

        题目描述:

        演示多个字符从两端向中间移动,使用字符自拟,符号为‘#’。

        输入描述:

        无

        输出描述:

        一行,动态的演示字符从两端移动到中间。

        题目解析

        我们这个题目的要求是动态的演示字符,这里我们首先需要编写出字符移动的代码,之后将代码从头到尾打印出来,之后动态的效果是通过代码的逐步变化得到,最后打印出整个输出结果。在这个过程中,我们需要使用Windows.h库中的system("cls")用来清空每次产生结果之前的结果,对结果进行更新之后实现一个动态的效果,在我们使用的过程中我们发现,我们在一步一步调试的时候是正常生成的动态效果,之后我们生成的效果太快,所以我们这里需要一个sleep函数来对程序进行一个延时,这个函数属于stdlib.h的头文件,我们设置延时为1000ms。

        代码表示

        

#include<stdio.h>
#include<Windows.h>
#include<stdlib.h>
int main()
{
	char arr1[] = "welcome to bit!!!!" ;
	char arr2[] = "##################" ;
	//左右字符下标位置
	int left = 0;
	int right = sizeof(arr2)/sizeof(arr2[0])-2;//strlen(arr1)-1计算右下标
	while (left <= right)
	{
		arr2[left] = arr1[left];
		arr2[right] = arr1[right];
		printf("%s\n", arr2);
		Sleep(1000);
		//清空屏幕
		system("cls");
		left++;
		right--;
	}
	printf("%s\n", arr2);
	return 0;
}

        这里我们定义两个数组,分别存放我们打印的结果和我们需要用到的字符,之后我们对左右下标进行定义,左下标为0,右下标需要我们去使用数组中sizeof操作符或者strlen函数的使用,使用它们去计算数组中元素个数,之后我们使用数组中元素个数-1得到右下标,这里如果我们使用了sizeof操作符的话就需要-2,这是因为在使用sizeof操作符去计算数组中元素个数的时候,我们会将末尾的'\0'也计算进去,所以这里我们需要-2。

        之后我们置换数组1和数组2之间的元素,使用system函数来实现清屏操作,通过每次的清屏和打印实现了字符的动态进程。调用sleep延时清屏,便于更好的展示出代码运行的效果。

        每天都是不一样的一天,让我们去学习新的知识吧,兄弟们加油!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值