#编程思路分享
像图片中这种字符从两边依次出现的效果我们可以怎么实现呢?
想要做出这种类似字符出现的效果,我们可以考虑创建两个数组。
(注意两个数组应该一样长)
到这里我们很轻松的就可以想到接下来的操作,没错——就是替换;
我们使用arr1中的元素替换给arr2就可以实现字符出现的效果;
那么,我们定义数组的左右端
int left=0;
int right=strlen(arr1)-1;
如何确定字符右端的下标呢?
我们知道字符的下标从0开始的,所以 字符的下标=数组的长度-1;
而数组的长度我们可以使用函数strlen求出
(注意:函数strlen的使用要在前面定义头文件<string.h>)
#include<string.h>
接下来我们只需要让循环替换掉arr2的元素就可以了;
while (left <= right)
{
arr2[left] = arr1[left];
arr2[right] = arr1[right];
printf("%s\n", arr2);
left++;
right--;
}
效果如下
然而,在实际运行中,我们会发现他们一股脑全出来,没有依次的感觉:
在这里我们可以使用睡眠函数Sleep();//括号内的数的单位是毫秒
注意睡眠函数的头文件
#include<windows.h>
所以,初步完整代码如下
#include<stdio.h>
#include<string.h>
#include<windows.h>
int main()
{
char arr1[] = "welcome to here!";
char arr2[] = "****************";
int left = 0;
int right = strlen(arr1) - 1;
printf("%s\n", arr1);
printf("%s\n", arr2);
printf("\n");
while (left <= right)
{
arr2[left] = arr1[left];
arr2[right] = arr1[right];
printf("%s\n", arr2);
Sleep(1000);//睡眠函数;休息1000毫秒
left++;
right--;
}
return 0;
}