国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C語(yǔ)言:編寫代碼,演示多個(gè)字符從兩端移動(dòng),向中間匯聚

這篇具有很好參考價(jià)值的文章主要介紹了C語(yǔ)言:編寫代碼,演示多個(gè)字符從兩端移動(dòng),向中間匯聚。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

題目:

給出第一個(gè)字符串,如:"welcome to school!!!!!",

設(shè)置第二個(gè)字符串"######################",

兩字符串字符數(shù)相等。

第二個(gè)字符串兩端開始移動(dòng),向中間匯聚慢慢顯示出第一個(gè)字符串。

? ? ? ? ? ? ? ? ?

如:

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

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

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

……

welcome to##chool!!!!!

"welcome to school!!!!!"

? ? ? ? ? ? ? ? ? ??

?=========================================================================

? ? ? ? ? ? ? ? ? ? ? ?

思路:

總體思路:

(一). 生成題目要求的兩個(gè)字符串,定義左右下標(biāo)

? ? ? ? ? ? ??

(二). 利用while循環(huán)將第二個(gè)字符串慢慢從左右兩端向中間匯聚顯示出第一個(gè)循環(huán)。

? ? ? ? ? ? ? ?

(三). 使用 Sleep()函數(shù)system()函數(shù) 進(jìn)行優(yōu)化

? ? ? ? ? ? ? ??


? ? ? ? ? ? ? ? ?

第一步:

(1). 生成第一個(gè)字符串 arr1?,"welcome to school!!!!!",

第二個(gè)字符串 arr2?"######################",

兩字符串字符數(shù)相等。

? ? ? ? ? ? ? ? ? ? ?

(2). 定義左右下標(biāo)left right

? ? ? ? ? ? ? ? ? ? ??

實(shí)現(xiàn)代碼:

#include <stdio.h>
int main()
{
	//生成第一個(gè)字符串a(chǎn)rr1:
	char arr1[] = "welcome to school!!!!!";
	//生成第二個(gè)字符串a(chǎn)rr2:
	char arr2[] = "######################";

	//定義左右小標(biāo):left 和 right
	int left = 0;
	int right = strlen(arr1) - 1;
	//strlen(數(shù)組名稱):求數(shù)組的長(zhǎng)度,計(jì)算字符數(shù)組中\(zhòng)0前有多少個(gè)字符
	//數(shù)組長(zhǎng)度 - 1 = 最右端下標(biāo) 

	return 0;
}

實(shí)現(xiàn)圖片:

C語(yǔ)言:編寫代碼,演示多個(gè)字符從兩端移動(dòng),向中間匯聚

?

? ? ? ? ? ? ? ? ?


? ? ? ? ? ? ? ? ?

第二步:

(1).?使用while循環(huán)結(jié)合左右下標(biāo)進(jìn)行循環(huán)替換,

? ? ? ? ? ? ? ? ? ? ?

(2). 利用左右下標(biāo)將 arr1 左右兩端的值付給 arr2 左右兩端的值

? ? ? ? ? ? ? ? ??

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

? ? ? ? ? ? ? ? ? ? ?

(4). 調(diào)整左右下標(biāo),以便下次循環(huán)改變下一對(duì)左右兩端的值。

? ? ? ? ? ? ? ? ? ? ? ?

實(shí)現(xiàn)代碼:

#include <stdio.h>
int main()
{
	//生成第一個(gè)字符串a(chǎn)rr1:
	char arr1[] = "welcome to school!!!!!";
	//生成第二個(gè)字符串a(chǎn)rr2:
	char arr2[] = "######################";

	//定義左右小標(biāo):left 和 right
	int left = 0;
	int right = strlen(arr1) - 1;
	//strlen(數(shù)組名稱):求數(shù)組的長(zhǎng)度,計(jì)算字符數(shù)組中\(zhòng)0前有多少個(gè)字符
	//數(shù)組長(zhǎng)度 - 1 = 最右端下標(biāo) 

	//使用while循環(huán)結(jié)合左右下標(biāo)進(jìn)行循環(huán)替換
	while (left <= right)
	//如果 left > right 說明數(shù)組中左右下標(biāo)之間已經(jīng)沒有值了
	//有值就一直循環(huán)到?jīng)]有值
	{
		//利用左右下標(biāo)將 arr1 左右兩端的值賦給 arr2 左右兩端的值
		arr2[left] = arr1[left];//將arr1左邊的值 賦給 arr2左邊的值
		arr2[right] = arr1[right];//將arr2右邊的值 賦給 arr2右邊的值

		//打印重新賦值后的arr2:
		printf("%s\n", arr2);
		
		//調(diào)整左右下標(biāo),以便下次循環(huán)改變下一對(duì)左右兩端的值:
		left++; //調(diào)整左下標(biāo)
		right--; //調(diào)整右下標(biāo)
	}

	return 0;
}

實(shí)現(xiàn)圖片:

C語(yǔ)言:編寫代碼,演示多個(gè)字符從兩端移動(dòng),向中間匯聚

? ? ? ? ? ? ? ? ?


? ? ? ? ? ? ? ? ?

第三步:

(1). 使用 Sleep()函數(shù) 進(jìn)行優(yōu)化:休眠一段時(shí)間再執(zhí)行該函數(shù)后面的語(yǔ)句,

需要 頭文件<windows.h> 。

使用該函數(shù)防止編譯器執(zhí)行太快不利于觀察結(jié)果。

? ? ? ? ? ? ? ? ? ? ?

(2). 使用 system()函數(shù) 進(jìn)行優(yōu)化:system()函數(shù)可以執(zhí)行系統(tǒng)命令,

system("cls") 清理屏幕。

這里是為了打印一句信息就清理該信息,實(shí)現(xiàn)類似動(dòng)態(tài)的效果。

? ? ? ? ? ? ? ? ??

實(shí)現(xiàn)代碼:

#include <stdio.h>
#include <windows.h>
int main()
{
	//生成第一個(gè)字符串a(chǎn)rr1:
	char arr1[] = "welcome to school!!!!!";
	//生成第二個(gè)字符串a(chǎn)rr2:
	char arr2[] = "######################";

	//定義左右小標(biāo):left 和 right
	int left = 0;
	int right = strlen(arr1) - 1;
	//strlen(數(shù)組名稱):求數(shù)組的長(zhǎng)度,計(jì)算字符數(shù)組中\(zhòng)0前有多少個(gè)字符
	//數(shù)組長(zhǎng)度 - 1 = 最右端下標(biāo) 

	//使用while循環(huán)結(jié)合左右下標(biāo)進(jìn)行循環(huán)替換
	while (left <= right)
	//如果 left > right 說明數(shù)組中左右下標(biāo)之間已經(jīng)沒有值了
	//有值就一直循環(huán)到?jīng)]有值
	{
		//利用左右下標(biāo)將 arr1 左右兩端的值賦給 arr2 左右兩端的值
		arr2[left] = arr1[left];//將arr1左邊的值 賦給 arr2左邊的值
		arr2[right] = arr1[right];//將arr2右邊的值 賦給 arr2右邊的值

		//打印重新賦值后的arr2:
		printf("%s\n", arr2);
		
		//使用Sleep()函數(shù)進(jìn)行優(yōu)化:
		Sleep(1000);//休眠1000毫秒,即1秒,再執(zhí)行后面的語(yǔ)句,需要頭文件:<windows.h>

		//使用system()函數(shù)進(jìn)行優(yōu)化:
		system("cls");//清理屏幕

		//調(diào)整左右下標(biāo),以便下次循環(huán)改變下一對(duì)左右兩端的值:
		left++; //調(diào)整左下標(biāo)
		right--; //調(diào)整右下標(biāo)
	}

	return 0;
}

實(shí)現(xiàn)圖片:

C語(yǔ)言:編寫代碼,演示多個(gè)字符從兩端移動(dòng),向中間匯聚

? ? ? ? ? ? ? ? ?


? ? ? ? ? ? ? ? ?

第四步:

賦值完后,arr2被system(cls)清除了,所以出循環(huán)后再打印一次arr2。

? ? ? ? ? ? ? ? ? ? ?

實(shí)現(xiàn)代碼:

#include <stdio.h>
#include <windows.h>
int main()
{
	//生成第一個(gè)字符串a(chǎn)rr1:
	char arr1[] = "welcome to school!!!!!";
	//生成第二個(gè)字符串a(chǎn)rr2:
	char arr2[] = "######################";

	//定義左右小標(biāo):left 和 right
	int left = 0;
	int right = strlen(arr1) - 1;
	//strlen(數(shù)組名稱):求數(shù)組的長(zhǎng)度,計(jì)算字符數(shù)組中\(zhòng)0前有多少個(gè)字符
	//數(shù)組長(zhǎng)度 - 1 = 最右端下標(biāo) 

	//使用while循環(huán)結(jié)合左右下標(biāo)進(jìn)行循環(huán)替換
	while (left <= right)
	//如果 left > right 說明數(shù)組中左右下標(biāo)之間已經(jīng)沒有值了
	//有值就一直循環(huán)到?jīng)]有值
	{
		//利用左右下標(biāo)將 arr1 左右兩端的值賦給 arr2 左右兩端的值
		arr2[left] = arr1[left];//將arr1左邊的值 賦給 arr2左邊的值
		arr2[right] = arr1[right];//將arr2右邊的值 賦給 arr2右邊的值

		//打印重新賦值后的arr2:
		printf("%s\n", arr2);
		
		//使用Sleep()函數(shù)進(jìn)行優(yōu)化:
		Sleep(1000);//休眠1000毫秒,即1秒,再執(zhí)行后面的語(yǔ)句,需要頭文件:<windows.h>

		//使用system()函數(shù)進(jìn)行優(yōu)化:
		system("cls");//清理屏幕

		//調(diào)整左右下標(biāo),以便下次循環(huán)改變下一對(duì)左右兩端的值:
		left++; //調(diào)整左下標(biāo)
		right--; //調(diào)整右下標(biāo)
	}

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

	return 0;
}

實(shí)現(xiàn)圖片:

C語(yǔ)言:編寫代碼,演示多個(gè)字符從兩端移動(dòng),向中間匯聚

? ? ? ? ? ? ? ? ? ??

最終代碼和實(shí)現(xiàn)效果

最終代碼:

#include <stdio.h>
#include <windows.h>
int main()
{
	//生成第一個(gè)字符串a(chǎn)rr1:
	char arr1[] = "welcome to school!!!!!";
	//生成第二個(gè)字符串a(chǎn)rr2:
	char arr2[] = "######################";

	//定義左右小標(biāo):left 和 right
	int left = 0;
	int right = strlen(arr1) - 1;
	//strlen(數(shù)組名稱):求數(shù)組的長(zhǎng)度,計(jì)算字符數(shù)組中\(zhòng)0前有多少個(gè)字符
	//數(shù)組長(zhǎng)度 - 1 = 最右端下標(biāo) 

	//使用while循環(huán)結(jié)合左右下標(biāo)進(jìn)行循環(huán)替換
	while (left <= right)
	//如果 left > right 說明數(shù)組中左右下標(biāo)之間已經(jīng)沒有值了
	//有值就一直循環(huán)到?jīng)]有值
	{
		//利用左右下標(biāo)將 arr1 左右兩端的值賦給 arr2 左右兩端的值
		arr2[left] = arr1[left];//將arr1左邊的值 賦給 arr2左邊的值
		arr2[right] = arr1[right];//將arr2右邊的值 賦給 arr2右邊的值

		//打印重新賦值后的arr2:
		printf("%s\n", arr2);
		
		//使用Sleep()函數(shù)進(jìn)行優(yōu)化:
		Sleep(1000);//休眠1000毫秒,即1秒,再執(zhí)行后面的語(yǔ)句,需要頭文件:<windows.h>

		//使用system()函數(shù)進(jìn)行優(yōu)化:
		system("cls");//清理屏幕

		//調(diào)整左右下標(biāo),以便下次循環(huán)改變下一對(duì)左右兩端的值:
		left++; //調(diào)整左下標(biāo)
		right--; //調(diào)整右下標(biāo)
	}

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

	return 0;
}

實(shí)現(xiàn)效果:

C語(yǔ)言:編寫代碼,演示多個(gè)字符從兩端移動(dòng),向中間匯聚文章來源地址http://www.zghlxwxcb.cn/news/detail-476072.html

到了這里,關(guān)于C語(yǔ)言:編寫代碼,演示多個(gè)字符從兩端移動(dòng),向中間匯聚的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包