【多个字符从两端移动,向中间汇聚】
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;
}
运行结果就是隐藏的字符串一点一点展现出来。
看懂,多思考,多练习。多给自己一点时间,自己的能力一定会提升上去的,要耐心一点。