C語言題目(關於二維陣列)關於二維陣列的c語言題目

時間 2023-02-13 12:00:06

1樓:星月小木木

二維陣列定義的一般形式是:

型別說明符 陣列名[常量表示式1][常量表示式2]其中常量表示式1表示第一維下標的長度,常量表示式2 表示第二維下標的長度。

int a[3][4];

如果 int a[m][n] 是乙個已賦值的陣列,則可以用以下的語句段以矩陣形式列印這個陣列:

int i,j;

for(i=0;i

2樓:匿名使用者

二維陣列是可以這樣的。

}即a[0][0] =1

a[1][1] =5

a[2][2] =9

由b+=a[i][i]可知相加而得 15

3樓:匿名使用者

這個不過就是使得。

b=a[0][0]+a[1][1]+a[2][2]看這個陣列分配。

static int a[3][3]=;

a[0]=a[1]=

a[2]=a[0][0]=1

a[1][1]=5

a[2][2]=9

就是15

4樓:匿名使用者

a[0]=

a[1]=a[2]=

b=a[0][0]+a[1][1]+a[2][2]對角線加起來就是15

5樓:匿名使用者

1,2,3

對角線加起來就是15

c語言關於二維陣列的題目第28題

6樓:匿名使用者

a[1]是,所以a[1][0]是2。

b[0]是,所以b[0][0]是1。

加起來就是3。

c語言題目 對二維陣列的正確說明是:

7樓:匿名使用者

c是正確的。

二維陣列初始化的形式為:

資料型別 陣列名[整常量表示式][ 整常量表示式]=;

在中給出各陣列元素的初值,各初值之間用逗號分開。把中的初值依次賦給各陣列元素。

有如下幾種初始化方式:

⑴ 分行進行初始化。

int a[2][3]=,在內部再用把各行分開,第一對中的初值1,2,3是0行的3個元素的初值。第二對中的初值4,5,6是1行的3個元素的初值。相當於執行如下語句:

int a[2][3];

a[0][0]=1;a[0][1]=2;a[0][2]=3;a[1][0]=4;a[1][1]=5;a[1][2]=6;

注意,初始化的資料個數不能超過陣列元素的個數,否則出錯。

⑵ 不分行的初始化。

int a[2][3]=;

把中的資料依次賦給a陣列各元素(按行賦值)。即a[0][0]=1; a[0][1]=2;a[0][2]=3;a[1][0]=4;a[1][1]=5;a[1][2]=6;

⑶ 為部分陣列元素初始化。

static int a[2][3]=,第一行只有2個初值,按順序分別賦給a[0][0]和a[0][1];第二行的初值4賦給a[1][0]。由於儲存型別是static,故其它陣列元素的初值為0。注:

某些c語言系統(如:turbo c)中,儲存型別不是static的變數或陣列的初值也是0。

static int a[2][3]=;

只有2個初值,即a[0][0]=1,a[0][1]=2,其餘陣列元素的初值均為0。

⑷ 可以省略第一維的定義,但不能省略第二維的定義。系統根據初始化的資料個數和第2維的長度可以確定第一維的長度。

int a[ ]3]=;

a陣列的第一維的定義被省略,初始化資料共6個,第二維的長度為3,即每行3個數,所以a陣列的第一維是2。

一般,省略第一維的定義時,第一維的大小按如下規則確定:

初值個數能被第二維整除,所得的商就是第一維的大小;若不能整除,則第一維的大小為商再加1。例如,int a[ ]3]=;等價於:int a[2][3]=;

若分行初始化,也可以省略第一維的定義。下列的陣列定義中有兩對,已經表示a陣列有兩行。

static int a[ ]3]=,來自。

8樓:

c是對的,可以編譯通過。

d顯然格式就不對,排除。

而abc呢,c語言二維陣列初始化時,第一維可以不指定數字,但第二維必須指定數字。語言規則。沒什麼解釋的。可以自己揣摩一下為什麼是這個規則。

c語言 有關二維陣列的題

9樓:匿名使用者

int main()

min=a[0][0];

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

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

}printf("矩陣為:")

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

printf("最小的數是%d,在第%d行,第%d列",min,m+1,n+1);}

10樓:匿名使用者

#include

void main()

; int i,j,m,n,min;

/*printf("請輸入二十個整數:")

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

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

scanf("%d",&a[i][j]);

*/min=a[0][0];

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

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

}printf("最小值:%d",min);

printf("行號:%d列號:%d",m,n);}

11樓:滄海雄風

最小元素值為:a[4][5]=0。

press any key to continue#include ""

int main()

;mina=a[0][0];

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

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

if (mina>a[j][i])

mina=a[j][i];pj=j;pi=i;

printf("最小元素值為:a[%d][%d]=%d。",pj,pi,mina);}

c語言關於二維陣列的一道題,題目見補充。

12樓:匿名使用者

其實這個用結構體更加的好,如果要用二維陣列的話可以。

int student[5][4];

5表示 5個人。

4表示 3門成績 和 每個人的平均成績。

儲存的時候這樣,假設你要儲存 張 的成績。

student[0][0] =80, student[0][1] =75,student[0][2]=92;student[0][3]=平均成績;

同理 王的成績。

student1][0] =80, student[1][1] =75,student[1][2]=92,student[1][3]=平均成績;

其他的也一樣,如果要按平均成績輸出,即對平均成績比較即可,即比較。

student[0][3],student[1][3],student[2][3],student[3][3],student[4][3],其實一維陣列就像是一排格仔。

二維陣列就像是很多排格仔,他包含個很多個一排格仔。我們把每個人的成績儲存在其中一排,每人佔一排。他的容量就是5*3=15個int數。祝你進步!

一道有關於二維陣列的c語言題目

13樓:匿名使用者

你的第7行,輸入3個資料,只有乙個%d,不行吧。

c語言關於定義二維陣列的問題

14樓:焮欣

首先你要理解二維陣列的真正含義,它的第一維就是一組資料的起始位址,第二維就是某組資料中的某個值。其次,你要知道a[4]所表達的意思,是指二維陣列a的每一維都是由4個元素組成的一維陣列。而編譯器可以根據你賦給a的初值個數計算它的第一維長度(元素總個數/4,如果不能整除,則長度加1,此時還應該有幾個沒有賦初值的陣列元素).

而a[3]的意思從表面上看可以成立,但問題是編譯器不能直接識別其第二維的確切長度(你可以考慮,如果總的初值個數為2時,可以認為a的第二維長度為1,也可以是2,..這樣就會產生錯誤。所以,可以a[4]=這樣定義,而不能定義a[3]=。

對於你補充的問題,其實我已經講了。因為賦初值是5個元素,所以5/4=1,但除不盡,所以要加1,即實際陣列a實質上定義為a[2][4],其內元素為:

5 0 0 0 (後面的三個0是系統預設值)希望對你有所幫助。^-

15樓:匿名使用者

首先 假如定義乙個一維陣列 int ary;

缺少了一維陣列的長度 系統無法按大小分配空間;

但假如int ary =

就可以根據初始化的元素個數來把ary定義成相當於ary[2];

這應該能懂。

再次c語言中沒有多維陣列的概念 我們平常說的二維陣列其實是「陣列的陣列」 c語言對多維陣列的定義也是定義成。

"陣列的陣列的陣列的。

所以 當定義二維陣列int a[4] =

其實是 「定義了兩個以[4]為長度的陣列」(這說法可能不準確)所以在定義二維陣列並初始化時 需要指明第二維的長度 好讓編譯器根據初始化元素的個數來確定陣列的大小。

文字表述欠缺專業 但 意思是這樣 希望能明白呵呵。

16樓:佳樂比海

主要是分配記憶體的問題。

a[i][j]是陣列的陣列,意思是定義i個元素的陣列,每個元素都是乙個含有j個元素的陣列。

a[4]是定義了n個含有4個元素的陣列,如:

a[4]=,是定義了3個"含有4個元素的陣列"的陣列。雖然3個自定義的,但是是確定的數字。程式可以分配記憶體。

而a[3]是定定義了3個"含有n個元素的陣列"的陣列。如:

a[3]=}由於n的值是不確定的(如上有3個的,2個的),所以程式無法為這個陣列分配記憶體空間。

c語言 二維陣列的題目 急!! 10

17樓:

這麼簡單,不就是矩陣拷貝和矩陣相乘嗎?這都不會。

c語言關於定義二維陣列的問題,C語言中二維陣列的定義問題

焮欣 首先你要理解二維陣列的真正含義,它的第一維就是一組資料的起始位址,第二維就是某組資料中的某個值.其次,你要知道a 4 所表達的意思,是指二維陣列a的每一維都是由4個元素組成的一維陣列.而編譯器可以根據你賦給a的初值個數計算它的第一維長度 元素總個數 4,如果不能整除,則長度加1,此時還應該有幾...

求助 C語言二維陣列指標問題,c語言二維陣列用指標表示的問題

1.對於int p a p型別和a是不同的。p是指向乙個指標 指向int型別的量 的指標,a則是指向乙個一維陣列 含2個int元素 的指標。想要建立相同型別的指標應該用int p 2 才行 3.感覺p跟a就同級吧但型別不同 所以其實int p a 兩側的指標的型別是不相同的,只是a的值賦給p而已 假...

關於C語言二維陣列指標問題

如果是前者的話,每行應該輸出乙個元素才對,如果是後者的話又應該只能輸出每一行的首元素才對呀?正如樓上2位仁兄所言,p 指的是前者 下乙個元素的位址 樓主的疑問似乎是認為,該程式段 每行應該輸出乙個元素才對 這是不對的,語句printf 3d p 是每輪迴圈都要執行的,即按每個數字佔3個int大小列印...