【C语言练习】编写代码,演示多个字符从两端移动,向中间汇聚

1. 问题描述

利用C语言编写一个程序,实现多个字符从两端从中间汇聚。需要实现的效果如下所示:

2. 思路分析

1. 先创建两个字符数组:arr1[]和arr2[],arr1[]放入我们的目标字符,arr2[]放入数量相同的“#”。
2. 创建两个整型变量left、right,分别表示arr1[]和arr2[]的第一个元素的下标和最后一个元素的下标。
3. 将arr1[left]赋值给arr2[left],arr1[right]赋值给arr2[right],打印arr2数组,并且left++,right- -,如此循环,直到left > right。
4. 若想要得到一个动态的打印结果,则需要有时间的间隔,就需要利用Sleep函数。其可以使计算机程序进入休眠,使其在一段时间内处于非活动状态。在Windows操作系统中,Sleep()函数的参数是以毫秒为单位(1s = 1000ms)。

3. 代码实现

#define _CRT_SECURE_NO_WARNINGS
#include <Windows.h>
#include <stdlib.h>

int main()
{
	char arr1[] = "welcome to swust!!!";
	char arr2[] = "###################";
	int left = 0;
	int right = strlen(arr1)-1;//或者right=sizeof(arr2)/sizeof(arr2[0])-2
	while (left <= right)
	{
		arr2[left] = arr1[left];
		arr2[right] = arr1[right];
		Sleep(1000);//设置时间间隔为1s
		system("cls");//system是一个库函数,可以执行系统命令,用来清空屏幕
		left++;
		right--;
		printf("%s\n", arr2);
	}
	return 0;
}

代码运行结果如上所示。
欢迎大家在评论区交流学习,更多代码资料见GitHub:C-language

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值