c語言中二維陣列如何部分賦值?求解,謝謝

2021-04-21 10:02:09 字數 5356 閱讀 1668

1樓:聽不清啊

給二維陣列中的部分元素賦值,一般是採用單個元素逐個進行賦值。

內如果是為每一行的前若干個容連續元素賦值可以在定義陣列變數的時候一起初始化。

這時候,初始化必須要為整個陣列全部元素賦值或者為陣列中,前若干行的前若干個元素賦值,這時其餘未賦值的元素自動被賦值為初始值0。

#include#include

int main()

請問在c語言中,如何將二維陣列的值賦給一維陣列。謝謝!

2樓:匿名使用者

int i,j,a[3][4],b[12];

int n=0;

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

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

就baiok了!

給點du辛苦分

zhi吧dao!謝謝專!!屬!

3樓:匿名使用者

可以採用兩種

來方式:

1 按元素賦自

值:遍歷

bai一維陣列,並將每個元素賦值到二du維陣列的對應元zhi素上。dao

或者遍歷二維陣列,將每個元素賦值為一維陣列對應值上。

優點為操作靈活,可以按照需要任意賦值。

2 當一維陣列和二維陣列型別相同,而且賦值順序與一維陣列中的儲存順序完全相同時,可以用memcpy的方式,直接一次性賦值。

如一維陣列為a,二維陣列為b,基礎型別為type,需賦值元素個數為n,可以呼叫

memcpy(b,a,sizeof(type)*n);

該方法有點為操作簡單,執行效率高。

不過所需滿足的前提條件多。在滿足上述所有條件時,用memcpy的方式更為簡單。

c語言中怎樣實現對二維陣列元素進行賦值並輸出。

4樓:落魄偶咯

可以按照下面步驟進行定義二維陣列並輸出:

1 定義二維指標。

2 確定內陣列維數,即行數容和列數。

3 申請行數個一維指標大小空間,並賦值給二維指標。

4 對於每個一維指,申請列數個元素的空間,並賦值給對應的一維指標。

5 輸入或賦值資料。

6 使用雙重迴圈,逐個範圍儲存單元並輸出。

7 逐個釋放一維指標上的記憶體。

8 釋放二維指標上的記憶體。

以整型二維陣列為例:

下面的**,實現先輸入二維陣列的行數m和列數n,並再輸入m*n個整型資料存到動態二維陣列中。最後輸出所有二維陣列的元素值。

5樓:匿名使用者

用一個兩重迴圈就可以了:

#include

void main()

, row, col;

printf("請輸入陣列元素的值(3行4列): \n");

for (row=0; row<3; row++)for (col=0; col<

printf("您輸入的陣列為:\n");

for (row=0; row<3; row++)}

6樓:薔祀

1 定義二維指標。

2 確定陣列維數,即行數和列數。

3 申請行數個一維指標大小空間,並專賦值給二維指標。

4 對於每屬個一維指,申請列數個元素的空間,並賦值給對應的一維指標。

5 輸入或賦值資料。

6 使用雙重迴圈,逐個範圍儲存單元並輸出。

7 逐個釋放一維指標上的記憶體。

8 釋放二維指標上的記憶體即可實現對二維陣列元素進行賦值並輸出。

擴充套件資料

c語言是一門通用計算機程式語言,廣泛應用於底層開發。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。

參考資料

7樓:匿名使用者

二維陣列的賦值分bai兩種情況:du

1、定義時初始zhi化賦值

int a[2][4]=,

};2、定義後,

dao進行陣列元素專賦值

int a[2][4];

int i,j;

for( i=0;i<2;i++ ) //行}//以上賦值完成後,與初始化賦值得到的內容是相同的。

二維陣列的輸出,只能逐行遍歷二維陣列,逐個輸出每一個元素。如:

//接前面**

for( i=0;i<2;i++ ) //行printf("\n");//輸出一行後,換行顯示}

8樓:匿名使用者

這個說出來的話應該是沒什麼大問題,但是你也可以考慮考慮,想好了再。

9樓:匿名使用者

二維字復符陣列的每一行可制以用來存放一個bai字串,因此可以將du二維字元陣列看成是一個一zhi維陣列,陣列中的元dao素為字串,即被看作是字串陣列。如: char ss[3][10];陣列ss可以被看作是用來存放3個字串的字串陣列,每個字串的長度不超過9。

這時,對陣列中字串的引用,只使用第一個下標。即:ss[0]:

表示第一個字串的首地址;ss[1]:表示第二個字串的首地址;ss[2]:表示第三個字串的首地址; 在scanf()和printf()函式中輸入輸出字串時,不能使用ss[i][j],因為ss[i][j]表示是字元元素而不是表示字串,再就是,對字串陣列輸出時,ss[i]不能在前面再加「&」。

10樓:匿名使用者

用一個兩重迴圈bai就可以了du:

#include

void main()

, row, col;

printf("請輸入陣列元zhi素的值(3行4列): \n");

for (row=0; row<3; row++)for (col=0; col<

printf("您輸入的數dao組為:\n");

for (row=0; row<3; row++)}//測試結答果:

11樓:匿名使用者

1、二bai維陣列是形為a[n][n]的陣列類du型,第一個n為行數,zhi第二個daon為列數,也就是下標,比如說我要定義回一個三

答行三列的整型二維陣列可以這樣定義:int a[3][3]=;

2、為了方便學習,我們將該陣列抽象成以下形式1 2 3

4 5 6

7 8 9

也就是三行三列的資料,1的地址為a[0][0](注意,陣列下標從0開始),2的地址為a[0][1],第二行的為a[1][x](0 <= x <= 2),以此類推。

3、所以取每一個值只要給相應的下標即可取出值,比如我要取出第二行第二列的資料我可以這樣取int b = a[1][1];賦值也是同樣的,如果需要對每一個元素迴圈賦值則需要兩層for迴圈,比如

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

12樓:life星隨影戀

巢狀迴圈,用兩層迴圈就可以

13樓:匿名使用者

#includeint main()

printf("\n");

}printf("\n");

return 0;}

如何給二維陣列賦值?c語言

14樓:樂樂等待花開

int a[2][3]=;這樣是可以的,{}裡邊把要賦值的數都寫上,如例子中陣列元素一共有6個,但是你賦值的個數小於6個也是可以,沒有值的 部分系統能夠自動賦值為0

15樓:木子小三

直接用賦值表示式就行了,比如a[0][0]=0;

需要注意,除了初始化外,你只能對陣列單一元素賦值,而不能整體賦值。

16樓:懶樣哦

可以用迴圈語句賦值啊,scanf?你是說從鍵盤輸入值到二維陣列裡?這樣的話也是用迴圈賦值啊?

17樓:匿名使用者

直接賦就行了···例如:a[i][j]=3;

c語言二維陣列的賦值

18樓:用著追她

1、首先在電腦上開啟抄c語言程式設計軟襲件。然後建立專案。

2、然後匯入stdio.h和stdlib包。再加入malloc包。

3、然後定義五個引數。再建立其中兩個引數的空間。

4、然後用for語句進行迴圈。再用scanf語句進行接收輸入到二維陣列。

5、然後用兩個for語言迴圈。再輸出二維陣列的數值。

6、用printf語句進行資料輸出分格就可以了。

19樓:天天不看

1、一看到矩陣,c中的條件反射就是二維陣列。2具體源**如下

#include

int main()

printf("------------------------\n");

for(i=0;i<5;i++) //輸出左權下角return 0;}

20樓:司馬鑄劍

抄分兩種情況:

1、定bai義時du初始化賦值

int a[2][4]=, };

2、定義後,進zhi行陣列元素賦值dao

int a[2][4];int i,j;for( i=0;i<2;i++ ) //行}//以上賦值完成後,與初始化賦值得到的內容是相同的。

二維陣列的輸出,只能逐行遍歷二維陣列,逐個輸出每一個元素。如:

//接前面**for( i=0;i<2;i++ ) //行 printf("\n");//輸出一行後,換行顯示}

c語言二維陣列賦值問題 100

21樓:gta小雞

先直接將陣列所有元素賦為0,然後按照使用者輸入逐個給元素賦值,這樣沒有賦值到的元素自然是0。

c語言二維陣列賦值

22樓:

#include

#include

void main()

system("pause");}

23樓:匿名使用者

#include

#include

main()

system("pause");

return 0;}

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

正確寫法如下 char fd jgf1 maxitemlen 1 說明 把null去掉 1.二維陣列的第一個維度預設是 舉個例子 int tar 2 因為大括號中有4個元素,而且第二個維度是2,所以就可以計算出來第一維度是2.所以是可以預設的。2.你的這個例子中,第一維預設的應該是 7 8 1 ma...

c語言二維陣列

因為你的s是一個二維陣列。如果你的s是一維陣列,像s 20 這樣,那麼在gets時不需要加 0 你定義的s是個二維陣列,並且是char型別,所以每一行存放一個字串。s n 代表第n 1行,而gets時的引數需要是一個字串指標,或者字串陣列名,所以這裡必須要寫作gets s n 其中0 n 20 我明...

c語言中的二維陣列a可以表述為a

這個表述是有問題的,a 1 j 沒有規定首地址,a 1 已經表示a 1地址中的資料了,明顯與陣列概念不合。a a j 裡面陣列名稱和一個維度的陣列的個數表示重疊了,所以我換一種方式來表示 a y x 為了便於理解,假定y 3,x 2。在陣列中的資料有y行,x列 也就是3行,2列。假定第一行資料為 第...