C语言:编写代码,演示多个字符从两端移动,向中间汇聚

这篇具有很好参考价值的文章主要介绍了C语言:编写代码,演示多个字符从两端移动,向中间汇聚。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目:

给出第一个字符串,如:"welcome to school!!!!!"

设置第二个字符串"######################"

两字符串字符数相等

第二个字符串两端开始移动向中间汇聚慢慢显示出第一个字符串

                 

如:

"######################"

"we##################!!"

"welcome##########ol!!!!!"

……

welcome to##chool!!!!!

"welcome to school!!!!!"

                    

 =========================================================================

                       

思路:

总体思路:

(一). 生成题目要求的两个字符串定义左右下标

              

(二). 利用while循环将第二个字符串慢慢从左右两端向中间汇聚显示出第一个循环

               

(三). 使用 Sleep()函数system()函数 进行优化

                


                 

第一步:

(1). 生成第一个字符串 arr1 "welcome to school!!!!!"

第二个字符串 arr2 "######################"

两字符串字符数相等

                     

(2). 定义左右下标left right

                      

实现代码:

#include <stdio.h>
int main()
{
	//生成第一个字符串arr1:
	char arr1[] = "welcome to school!!!!!";
	//生成第二个字符串arr2:
	char arr2[] = "######################";

	//定义左右小标:left 和 right
	int left = 0;
	int right = strlen(arr1) - 1;
	//strlen(数组名称):求数组的长度,计算字符数组中\0前有多少个字符
	//数组长度 - 1 = 最右端下标 

	return 0;
}

实现图片:

C语言:编写代码,演示多个字符从两端移动,向中间汇聚

 

                 


                 

第二步:

(1). 使用while循环结合左右下标进行循环替换

                     

(2). 利用左右下标将 arr1 左右两端的值付给 arr2 左右两端的值

                  

(3). 打印重新赋值后的arr2,

                     

(4). 调整左右下标,以便下次循环改变下一对左右两端的值。

                       

实现代码:

#include <stdio.h>
int main()
{
	//生成第一个字符串arr1:
	char arr1[] = "welcome to school!!!!!";
	//生成第二个字符串arr2:
	char arr2[] = "######################";

	//定义左右小标:left 和 right
	int left = 0;
	int right = strlen(arr1) - 1;
	//strlen(数组名称):求数组的长度,计算字符数组中\0前有多少个字符
	//数组长度 - 1 = 最右端下标 

	//使用while循环结合左右下标进行循环替换
	while (left <= right)
	//如果 left > right 说明数组中左右下标之间已经没有值了
	//有值就一直循环到没有值
	{
		//利用左右下标将 arr1 左右两端的值赋给 arr2 左右两端的值
		arr2[left] = arr1[left];//将arr1左边的值 赋给 arr2左边的值
		arr2[right] = arr1[right];//将arr2右边的值 赋给 arr2右边的值

		//打印重新赋值后的arr2:
		printf("%s\n", arr2);
		
		//调整左右下标,以便下次循环改变下一对左右两端的值:
		left++; //调整左下标
		right--; //调整右下标
	}

	return 0;
}

实现图片:

C语言:编写代码,演示多个字符从两端移动,向中间汇聚

                 


                 

第三步:

(1). 使用 Sleep()函数 进行优化:休眠一段时间再执行该函数后面的语句

需要 头文件<windows.h>

使用该函数防止编译器执行太快不利于观察结果

                     

(2). 使用 system()函数 进行优化:system()函数可以执行系统命令

system("cls") 清理屏幕

这里是为了打印一句信息就清理该信息实现类似动态的效果

                  

实现代码:

#include <stdio.h>
#include <windows.h>
int main()
{
	//生成第一个字符串arr1:
	char arr1[] = "welcome to school!!!!!";
	//生成第二个字符串arr2:
	char arr2[] = "######################";

	//定义左右小标:left 和 right
	int left = 0;
	int right = strlen(arr1) - 1;
	//strlen(数组名称):求数组的长度,计算字符数组中\0前有多少个字符
	//数组长度 - 1 = 最右端下标 

	//使用while循环结合左右下标进行循环替换
	while (left <= right)
	//如果 left > right 说明数组中左右下标之间已经没有值了
	//有值就一直循环到没有值
	{
		//利用左右下标将 arr1 左右两端的值赋给 arr2 左右两端的值
		arr2[left] = arr1[left];//将arr1左边的值 赋给 arr2左边的值
		arr2[right] = arr1[right];//将arr2右边的值 赋给 arr2右边的值

		//打印重新赋值后的arr2:
		printf("%s\n", arr2);
		
		//使用Sleep()函数进行优化:
		Sleep(1000);//休眠1000毫秒,即1秒,再执行后面的语句,需要头文件:<windows.h>

		//使用system()函数进行优化:
		system("cls");//清理屏幕

		//调整左右下标,以便下次循环改变下一对左右两端的值:
		left++; //调整左下标
		right--; //调整右下标
	}

	return 0;
}

实现图片:

C语言:编写代码,演示多个字符从两端移动,向中间汇聚

                 


                 

第四步:

赋值完后,arr2被system(cls)清除了,所以出循环后再打印一次arr2

                     

实现代码:

#include <stdio.h>
#include <windows.h>
int main()
{
	//生成第一个字符串arr1:
	char arr1[] = "welcome to school!!!!!";
	//生成第二个字符串arr2:
	char arr2[] = "######################";

	//定义左右小标:left 和 right
	int left = 0;
	int right = strlen(arr1) - 1;
	//strlen(数组名称):求数组的长度,计算字符数组中\0前有多少个字符
	//数组长度 - 1 = 最右端下标 

	//使用while循环结合左右下标进行循环替换
	while (left <= right)
	//如果 left > right 说明数组中左右下标之间已经没有值了
	//有值就一直循环到没有值
	{
		//利用左右下标将 arr1 左右两端的值赋给 arr2 左右两端的值
		arr2[left] = arr1[left];//将arr1左边的值 赋给 arr2左边的值
		arr2[right] = arr1[right];//将arr2右边的值 赋给 arr2右边的值

		//打印重新赋值后的arr2:
		printf("%s\n", arr2);
		
		//使用Sleep()函数进行优化:
		Sleep(1000);//休眠1000毫秒,即1秒,再执行后面的语句,需要头文件:<windows.h>

		//使用system()函数进行优化:
		system("cls");//清理屏幕

		//调整左右下标,以便下次循环改变下一对左右两端的值:
		left++; //调整左下标
		right--; //调整右下标
	}

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

	return 0;
}

实现图片:

C语言:编写代码,演示多个字符从两端移动,向中间汇聚

                    

最终代码和实现效果

最终代码:

#include <stdio.h>
#include <windows.h>
int main()
{
	//生成第一个字符串arr1:
	char arr1[] = "welcome to school!!!!!";
	//生成第二个字符串arr2:
	char arr2[] = "######################";

	//定义左右小标:left 和 right
	int left = 0;
	int right = strlen(arr1) - 1;
	//strlen(数组名称):求数组的长度,计算字符数组中\0前有多少个字符
	//数组长度 - 1 = 最右端下标 

	//使用while循环结合左右下标进行循环替换
	while (left <= right)
	//如果 left > right 说明数组中左右下标之间已经没有值了
	//有值就一直循环到没有值
	{
		//利用左右下标将 arr1 左右两端的值赋给 arr2 左右两端的值
		arr2[left] = arr1[left];//将arr1左边的值 赋给 arr2左边的值
		arr2[right] = arr1[right];//将arr2右边的值 赋给 arr2右边的值

		//打印重新赋值后的arr2:
		printf("%s\n", arr2);
		
		//使用Sleep()函数进行优化:
		Sleep(1000);//休眠1000毫秒,即1秒,再执行后面的语句,需要头文件:<windows.h>

		//使用system()函数进行优化:
		system("cls");//清理屏幕

		//调整左右下标,以便下次循环改变下一对左右两端的值:
		left++; //调整左下标
		right--; //调整右下标
	}

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

	return 0;
}

实现效果:

C语言:编写代码,演示多个字符从两端移动,向中间汇聚文章来源地址https://www.toymoban.com/news/detail-476072.html

到了这里,关于C语言:编写代码,演示多个字符从两端移动,向中间汇聚的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C语言程序设计:编写函数,统计字符串中数字字符的个数

    题目内容: 编写函数,求给定字符串中数字字符的个数,在主函数中输入字符串及输出统计的个数。 输入格式: %s 输出格式: %d 输入样例: abc123fg 输出样例: 3 时间限制:500ms内存限制:32000kb

    2024年02月11日
    浏览(63)
  • 用c语言如何用二维数组存入多个字符串

    用 c 语言如何用二维数组存储多个字符串呢? 首先,需要确定要存储的字符串的个数和每个字符串的长度。然后定义一个二维数组,其中第一维表示字符串的个数,第二维表示每个字符串的长度。 例如,假设要存储 3 个字符串,每个字符串的长度都是 10,则可以使用如下代

    2024年02月05日
    浏览(47)
  • 【C语言】十大经典排序代码及GIF演示

    🔥🔥🔥专栏推荐:C语言基础语法🔥🔥🔥

    2024年02月02日
    浏览(29)
  • C语言图形界面开发(演示视频、完整代码文件)

    C语言初学者开始都是在黑白控制台上开发一些小程序,实现一些小功能,因为基础的C语言可视化效果比较差,所展示的都是黑白的字符和数字,比较单调乏味。一些大学的计算机类专业学生,大一学习C语言,学习基础语法和算法,通过平台刷题提高自己编程能力,一般不专

    2024年02月04日
    浏览(43)
  • R语言【cli】——ansi_columns():把字符向量格式化为多个列

    Package  cli  version 3.6.0 这个函数有助于ANSI样式字符串的多列输出。它可以很好地与boxx()一起工作。 参数【text】 :字符矢量格式。每个元素将被格式化为表格的一个单元格。 参数【width】 :屏幕的宽度。 参数【sep】 :列之间的分隔符。它可能有ANSI样式。 参数【fill】 :是

    2024年01月20日
    浏览(44)
  • 【C语言_题库】C语言:编写一个程序,输入一组字符串,将字符串中的小写字母转换为大写字母,其它字符不变,并输出。

    【问题描述】 从键盘输入一行英文字符串,把所有小写字母变成大写字母,其他字母和字符保持不变。 【输入形式】 输入一行字符串,含大小写。 【输出形式】 输出大写字母形式。 【样例输入①】 hello,world. 【样例输出①】 result:HELLO,WORLD. 【样例输入②】 hello,China. 【样例

    2024年02月07日
    浏览(129)
  • C语言 - 编写函数计算字符串中小写字母个数并转化为大写字母

    编写一个函数,统计字符串中小写字母的个数,并把字符串中的小写字母转化成大写字母 主要是运用 islower() 函数 和 toupper() 函数来识别和转化字符串中的小写字母,在这个过程中用 n++ 统计小写字母数量。 输出结果: 但是我发现在我输入带有数字的字符或是其它字符时也有

    2024年02月11日
    浏览(61)
  • 【C语言】做一个贪吃蛇小游戏,完整代码&附带视频演示

    视频演示: https://www.bilibili.com/video/BV1pt421a7Nu/?spm_id_from=333.999.0.0vd_source=82b65865be0947de29bd55efc8cdb40a 编译环境:linux(Vmware16.2.4 + Ubantu20.04.3); 小蛇🐍只能在固定的范围内活动; 可以利用键盘方向键控制小蛇🐍的前进方向; 活动范围内会随机生成食物; 小蛇🐍吃到食物,身

    2024年02月21日
    浏览(43)
  • uniapp+vue3+ts--编写微信小程序对接e签宝签署时跳转刷脸效果(人脸识别)中间页代码

    e签宝内嵌H5方式集成签署页的文档说明:https://open.esign.cn/doc/opendoc/case3/ahb0sg 签署时跳转刷脸效果示意图: 1. 在文件夹新建一个文件,路径为pages/middle/index,并在pages.json中注册。【ps这个路径要跟e签宝后台定义的中间页路径一致】 2.通过上面文档步骤进行相关代码编写,下面

    2024年01月25日
    浏览(54)
  • Matlab:连续按键、移动鼠标、鼠标点击、鼠标连点、输入字符,10行代码即可。

    Matlab 也可以实现 按键J灵 的一些基本功能,比如: 连续按键、移动鼠标、鼠标点击、鼠标连点和输入字符! 其中, “连续按键” :指间隔一定的时间(如:0.1s)按一下某个按键(如:键盘上的A键)。这个在游戏挂机时,用做 卡键练技能 很有效,而且使用Matlab语言 能避免

    2024年02月09日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包