0
点赞
收藏
分享

微信扫一扫

编写代码,演示多个字符从两端一地哦那个,向中间汇聚

答案如下:

#include<stdio.h>
#include<string.h>
#include<windows.h>
#include<stdlib.h>
int main()
{
char arr1[]="hello world!!!!!";
char arr2[]="################";
int left=0;
int right=strlen(arr1)-1;
//另一种right下标:int right=sizeof(arr1)/sizeof(arr1[0])-2;
while(left<=right)
{
arr2[left]=arr1[left];
arr2[right]=arr1[right];
printf("%s\n",arr2);
Sleep(1000);//休息一秒
system("cls");
left++;
right--;
}
return 0;
}

目的:

hello world!!!!!
################
h##############!
he############!!
..........
hello world!!!!!

思路:

1.使用两个数组字符空间储存“hello world!!!!!”和“################”,将前者的字符替换在后者的字符

2.对数组下标进行定义

左边第一个为left;右边为right

即左边left=0开始;右边由于需要算出字符串所占的长度

所以:方法一:使用#include<string.h>,用strlen直接计算引号内的长度空间大小就能得到right的下标

方法二:考虑到字符串中'\0'占一个字节单位,使用right=sizeof(arr1)/sizeof(arr1[0])-2时就需要注意是-2而不是-1

3.因为这是一个循环的过程依次要对#进行覆盖,向中间汇聚,所以left++且right--,while(left<=right)(上一章有较为详细介绍)

4.补充:

1.

Sleep(1000);

对应库函数

#include<windows.h>

作用:暂停代码一秒钟进入下一次的开始

2.

  system("cls");

对应库函数

#include<stdlib.h>

作用:执行系统命令的一个函数-cls-清空屏幕

举报

相关推荐

0 条评论