C語言二維陣列問題, 會的就填 , 醬油勿來!!

2025-01-25 11:20:37 字數 2850 閱讀 9502

1樓:網友

#include

#include

main( )

char cname[10][10],temp[10];

int i,j;

printf("請輸入10個國家的名稱:")

for(i=0;i<10;i++)迴圈變數控制_輸入十個國家的名字___

gets(cname[i]);

for(i=0;i<9;i++)從第乙個國家開始比較,按字母由小到大排序,分別與第2個第3個。。。第10個比較,這樣一直到第九個 與第10個比較完,程式迴圈結束___

for(j=0;j<9-i;j++)

if(strcmp(cname[j],cname[j+1])>0)/*如果前乙個國家的字母比後乙個國家的字母大___strcpy(temp,cname[j]);交換這兩個國家的位置___

strcpy(cname[j],cname[j+1]);

strcpy(cname[j+1],temp);

printf("排序後:");

for(i=0;i<10;i++)從小到大排序後的十個國家的輸出___

puts(cname[i]);

2樓:我只是湯圓

1:10次,每次輸入乙個國家的名稱。

2:比較9次。

3.比較cname[j],cname[j+1]的大小,如果cname[j]>cname[j+1].

4.把cname[j]裡的內容放到temp裡儲存,把cname[j+1]裡的內容入到cname[j]裡。把temp裡的內容放到cname[j]裡。實現兩元素互換。

5.依次輸出和陣列裡的元素、

二維陣列問題請教,謝了!

3樓:網友

200+(60*18+25)*4 = 4620

a[50][60]表示a這個二維陣列有50行60列,共3000個元素,每個元素佔4個位元組。

而a[18][25]是二維陣列a[50][60]的第18行第25列的那個元素,由於行和列的元素下標都是從0開始的,所以a[18][25]是a的第(60*18+25)個元素,也就是第1105個元素(從0開始計算)。

如果基位址是0的話,a[18][25]的位址應該是1105*4=4420。

但是現在基位址是200,所以還要再加上200,為4420+200=4620。

c語言陣列 在二維陣列中 b[3][4] = {{1,2,3,4},{1},{1}};

4樓:

b[3][4]是乙個二維陣列,c語言中二維陣列可以看成是:元素是一維陣列的一維陣列。

b[3][4]可以看成具有三個元素b[0]、b[1]、b[2]的一維陣列,而這三個元素又分別是乙個一維陣列。

b[0]: b[0][0] b[0][1] b[0][2] b[0][3]

b[1]: b[1][0] b[1][1] b[1][2] b[1][3]

b[2]: b[2][0] b[2][1] b[2][2] b[2][3]

那麼,b是陣列名代表的是陣列的首位址,即b[0]的位址;

b[1]即是第二個元素的首位址;

b+1)是b[1][0]的位址。

5樓:極簡經濟

首先,你要明白陣列變數名是乙個位址,所以可以作為指標量來使用。

b,就是這個二維陣列裡的一維陣列b[3]的首位址,即變數b[0]的位址,b+1即為b[1]的位址;

b+1)也即是b[1]的位址。

呵呵,問乙個c語言中二維陣列的問題。

6樓:網友

幾維可以考慮理解為矩陣。a[2][3]是乙個二行三列的矩陣。這個是資料的「形狀」。

字元」陣列是指這陣列中的資料是「字元」這種資料「型別」。型別和形狀講的2回事。當然了,實際上a[x][y]中指的有這麼乙個陣列a[x],x中y個元素。

如果按矩陣來理解則。

a[3][3]=|1][0],[1][1],[1][2]|-定義時a[x][3]=,其中「」中的{}為某一行裡面所有元素的組合,即代表矩陣中第一行的所有資料,因為只有乙個,而沒有特定說明下資料是由左向右填充的,所以a[0][0]=1。

b因為只有乙個{},在填充資料時沒有特別說明,所以{}中的資料將按每行3個資料的個數進行填充,如果定義b時{}中有4個數字,則第4個數將填充到b[1][0]中。

strcat和strlen自己baidu去,庫函式。

7樓:

一維陣列存放相同的值,但是如果是矩陣,行列式等型別的,用二維的就比較方便了。至於字元陣列,只是說明它裡面存放的元素是字元而已。

注意,,}裡面的1,2,3是有{}的,在本題中表示每一行中的第乙個元素分別為1,2,3.剩下的元素如a[1[2],a[2][2]等就預設是0了。而b[3][3]=這隻有乙個{},把4,5,6都包進去了。

表示b[0][0],b[0][1],b[0][2]分別為4,5,6.剩下的都為0了。

strcat(s1,s2)是將第二個字串複製到第乙個字串後面,拼成乙個字串。複製完成後,函式會新增'\0',表示字串的結束。所以執行完strcat(s1,s2)後實際結果為123abcde\0.

用strlen取長度,自然就是8了。

8樓:網友

問題一:其實沒必要有二維陣列,字元陣列可以存放字元。

問題二:a的賦值結果為a[0][0]=1,a[1][0]=2,a[2][0]=3,其餘為0,如果不寫大括號則依次賦值b[0][0]=4,b[0][1]=5,b[0][2]=6,寫大括號則每個大括號代表一行。

問題三:strcat函式用來連線兩個字串s1、s2,strlen用來計算字串長度(不含結尾「\0」)

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

include void main for i 0 i 3 i for i 0 i 3 i for j 0 j 7 2 j printf change after n for i 0 i 3 i 1 2 3 4 5 6 78 9 10 11 12 13 1415 16 17 18 19 20 217...

c語言二維陣列迴圈賦值,C語言二維陣列迴圈賦值

這個只是陣列值的大小和行列的關係而已 就代表改數的值等於所在行數的4倍加所在列數加1 c語言中怎樣實現對二維陣列元素進行賦值並輸出。可以按照下面步驟進行定義二維陣列並輸出 1 定義二維指標。2 確定內陣列維數,即行數容和列數。3 申請行數個一維指標大小空間,並賦值給二維指標。4 對於每個一維指,申請...

c語言二維陣列的賦值,c語言有關二維陣列變數初始化

1 首先在電腦上開啟抄c語言程式設計軟襲件。然後建立專案。2 然後匯入stdio.h和stdlib包。再加入malloc包。3 然後定義五個引數。再建立其中兩個引數的空間。4 然後用for語句進行迴圈。再用scanf語句進行接收輸入到二維陣列。5 然後用兩個for語言迴圈。再輸出二維陣列的數值。6 ...