题目:多个字符从两端移动,向中间汇聚

多个字符从两端移动,向中间汇聚

char arr1[] = "Good Good Study,Day Day Up!" ;
char arr2[] = "***************************";

【思路】

首先两字符串中的元素个数要相同,将两串字符分别存放在数组中,那么字符串中的每个字符就都是有下标的,以便我们指定字符替换字符串中的元素;定义两个变量,分别指向数组中的第一个元素和倒数第二个元素(倒数第一是\0),左右同时进行字符的替换,我们可以借助循环实现不停地交换直到替换完毕。

【代码实现】

#include<stdio.h>
#include<windows.h>
#include<string.h>

int main()
{
	char arr1[] = "Good Good Study,Day Day Up!" ;
	char arr2[] = "***************************";
	int left = 0;
	size_t right = strlen(arr1) - 1;

	while (left <= right)
	{
		arr2[left] = arr1[left];
		arr2[right] = arr1[right];
		printf("%s\n", arr2);
		Sleep(500);//单位是毫秒,休眠一下,就是这次打印与下次打印有一定的时间差,产生停顿的感觉
		system("cls");//清屏,清除掉上一次的打印,实现空屏的效果
		left++;
		right--;
	}

	printf("%s\n", arr2);

	return 0;
}

运行结果就是隐藏的字符串一点一点展现出来。

看懂,多思考,多练习。多给自己一点时间,自己的能力一定会提升上去的,要耐心一点。


云边有个稻草人

期待与你的下一次相遇!

猜你喜欢

转载自blog.csdn.net/lrq13965748542/article/details/143415955