欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)激活碼778899分享:算法 【C語(yǔ)言】二維數(shù)組

柚子快報(bào)激活碼778899分享:算法 【C語(yǔ)言】二維數(shù)組

http://yzkb.51969.com/

文章目錄

一、前言二、二維數(shù)組的創(chuàng)建和初始化1.創(chuàng)建2.初始化

三、二維數(shù)組的使用四、二維數(shù)組的存儲(chǔ)五、總結(jié)

一、前言

前面學(xué)習(xí)的數(shù)組被稱為一維數(shù)組,數(shù)組的元素都是內(nèi)置類型的,如果我們把一維數(shù)組做為數(shù)組的元 素,這時(shí)候就是二維數(shù)組,二維數(shù)組作為數(shù)組元素的數(shù)組被稱為三維數(shù)組,二維數(shù)組以上的數(shù)組統(tǒng)稱為多維數(shù)組。在我們?nèi)粘J褂弥?,多維數(shù)組中也就二維數(shù)組使用頻率最高,因此我們著重講解二維數(shù)組。

接下來(lái),我們按照學(xué)習(xí)一維數(shù)組的順序,來(lái)學(xué)習(xí)二維數(shù)組。

二、二維數(shù)組的創(chuàng)建和初始化

1.創(chuàng)建

type arr_name[常量值1][常量值2];

例如:

int arr[3][5];

double data[2][8];

3表示數(shù)組有3行5表示每一行有5個(gè)元素int 表示數(shù)組的每個(gè)元素是整型類型arr 是數(shù)組名,可以根據(jù)自己的需要指定

2.初始化

int arr1[3][5] = {1,2};

int arr2[3][5] = {0};

int arr3[3][5] = {1,2,3,4,5, 2,3,4,5,6, 3,4,5,6,7};

int arr4[3][5] = {{1,2},{3,4},{5,6}};

int arr5[][5] = {1,2,3};

int arr6[][5] = {1,2,3,4,5,6,7};

int arr7[][5] = {{1,2}, {3,4}, {5,6}};

由上面的示例能夠看出,初始化時(shí)可以省略?,但是不能省略列

三、二維數(shù)組的使用

當(dāng)我們掌握了二維數(shù)組的創(chuàng)建和初始化,那我們?cè)趺词褂枚S數(shù)組呢? 其實(shí)二維數(shù)組訪問(wèn)也是使用下標(biāo)的形式的,二維數(shù)組是有行和列的,只要鎖定了行和列就能唯一鎖定數(shù)組中的一個(gè)元素。C語(yǔ)言規(guī)定,二維數(shù)組的行是從0開始的,列也是從0開始的,如下所示 有了行列,我們說(shuō):第2行,第4列,快速就能定位出數(shù)字7

訪問(wèn)二維數(shù)組的單個(gè)元素我們知道了,那如何訪問(wèn)整個(gè)二維數(shù)組呢? 其實(shí)我們只要能夠按照?定的規(guī)律產(chǎn)生所有的行和列的數(shù)字就行;以上一段代碼中的arr數(shù)組為例,行的選擇范圍是0 ~ 2,列的取值范圍是0 ~ 4,所以我們可以借助循環(huán)實(shí)現(xiàn)生成所有的下標(biāo)。 實(shí)現(xiàn)對(duì)二維數(shù)組的輸入和輸出:

int main()

{

int arr[3][5] = { 1,2,3,4,5, 2,3,4,5,6, 3,4,5,6,7 };

int i = 0;//遍歷?

//輸?

for (i = 0; i < 3; i++) //產(chǎn)??號(hào)

{

int j = 0;

for (j = 0; j < 5; j++) //產(chǎn)?列號(hào)

{

scanf("%d", &arr[i][j]); //輸?數(shù)據(jù)

}

}

//輸出

for (i = 0; i < 3; i++) //產(chǎn)??號(hào)

{

int j = 0;

for (j = 0; j < 5; j++) //產(chǎn)?列號(hào)

{

printf("%d ", arr[i][j]); //輸出數(shù)據(jù)

}

printf("\n");

}

return 0;

}

四、二維數(shù)組的存儲(chǔ)

為了研究存儲(chǔ)的規(guī)律,我們一樣可以像在一維數(shù)組部分所學(xué)的方法進(jìn)行探究

#include

int main()

{

int arr[3][5] = { 0 };

int i = 0;

int j = 0;

for (i = 0; i < 3; i++)

{

for (j = 0; j < 5; j++)

{

printf("&arr[%d][%d] = %p\n", i, j, &arr[i][j]);

}

}

return 0;

}

輸出結(jié)果:

從輸出的結(jié)果來(lái)看,每一行內(nèi)部的每個(gè)元素都是相鄰的,地址之間相差4個(gè)字節(jié),跨行位置處的兩個(gè)元素(如:arr[0][4]和arr[1][0])之間也是差4個(gè)字節(jié),所以二維數(shù)組中的每個(gè)元素都是連續(xù)存放的。

如下圖所示:

五、總結(jié)

在學(xué)習(xí)了一維數(shù)組和二維數(shù)組之后,我們就有能力做許多關(guān)于數(shù)組的小題目了,所以我為大家布置一道課后題:

A:編寫代碼,演示多個(gè)字符從兩端移動(dòng),向中間匯聚,例如:給出兩段字符串,實(shí)現(xiàn)這樣的效果: char arr1[] = “Happy to learn C.”; char arr2[] = “#################”; ################# H############### Ha#############C Hap########### C Happ#########n C Happy#######rn C Happy #####arn C Happy t###earn C Happy to#learn C Happy to learn C

答案:

int main()

{

char arr1[] = "Happy to learn C.";

char arr2[] = "#################";

int left = 0;

int right = strlen(arr1) - 1;

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

while (left <= right)

{

arr2[left] = arr1[left];

arr2[right] = arr1[right];

left++;

right--;

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

}

return 0;

}

當(dāng)然,大家為了觀看動(dòng)態(tài)效果,可以使用Sleep函數(shù)休眠 先加入頭文件#include,寫入?yún)?shù),單位是毫秒

Sleep(1000);

表示休眠1000毫秒,即1秒

#include

#include

int main()

{

char arr1[] = "Happy to learn C.";

char arr2[] = "#################";

int left = 0;

int right = strlen(arr1) - 1;

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

while (left <= right)

{

Sleep(1000);

arr2[left] = arr1[left];

arr2[right] = arr1[right];

left++;

right--;

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

}

return 0;

}

本期就到這里了,關(guān)注我,帶你繼續(xù)學(xué)習(xí)C語(yǔ)言!(。???)ノBye~?

柚子快報(bào)激活碼778899分享:算法 【C語(yǔ)言】二維數(shù)組

http://yzkb.51969.com/

好文推薦

評(píng)論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/19555901.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問(wèn)

文章目錄