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樓: 這麼簡單,不就是矩陣拷貝和矩陣相乘嗎?這都不會。 焮欣 首先你要理解二維陣列的真正含義,它的第一維就是一組資料的起始位址,第二維就是某組資料中的某個值.其次,你要知道a 4 所表達的意思,是指二維陣列a的每一維都是由4個元素組成的一維陣列.而編譯器可以根據你賦給a的初值個數計算它的第一維長度 元素總個數 4,如果不能整除,則長度加1,此時還應該有幾... 1.對於int p a p型別和a是不同的。p是指向乙個指標 指向int型別的量 的指標,a則是指向乙個一維陣列 含2個int元素 的指標。想要建立相同型別的指標應該用int p 2 才行 3.感覺p跟a就同級吧但型別不同 所以其實int p a 兩側的指標的型別是不相同的,只是a的值賦給p而已 假... 如果是前者的話,每行應該輸出乙個元素才對,如果是後者的話又應該只能輸出每一行的首元素才對呀?正如樓上2位仁兄所言,p 指的是前者 下乙個元素的位址 樓主的疑問似乎是認為,該程式段 每行應該輸出乙個元素才對 這是不對的,語句printf 3d p 是每輪迴圈都要執行的,即按每個數字佔3個int大小列印...c語言關於定義二維陣列的問題,C語言中二維陣列的定義問題
求助 C語言二維陣列指標問題,c語言二維陣列用指標表示的問題
關於C語言二維陣列指標問題