编写代码,演示多个字符从两边移动,从中间汇聚
这道题的思路是建立一个与对应字符串相同大小的*串来对原来的字符串进行覆盖,设置两个标志位分别进行++,--来实现对中间的汇聚。
#include <stdio.h>
#include<Windows.h>
int main()
{
char str[] = "hello world...";
char str1[] = "##############";
int num = sizeof(str) / sizeof(str[0]);
int start = 0;
int end = num - 2;//注意:-2的原因是字符串默认结尾\0还占有一个个单元长度,而数组下标也从0开始需要减一
while (start <= end){
printf("%s\n", str);
str[start] = str1[start];
str[end] = str1[end];
start++, end--;
Sleep(500);//Sleep函数将进程停顿500毫秒后重新开始
}
printf("%s\n", str);
system("pause");
return 0;
}
由此,可完成题目要求