當前位置:首頁 » 編程語言 » c語言二維數組怎麼數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言二維數組怎麼數

發布時間: 2022-12-28 06:58:22

Ⅰ 急急!!!如何用c語言輸入和輸出一個二維數組

#include <stdio.h>

#include <stdlib.h>

int main()

{

int a[2][2];

int i,j;

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

{

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

{

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

}

}

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

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

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

return 0;

}

運行成功

Ⅱ c語言中的二維數組

C 語言中的多維數組(multidimensional array)其實就是元素為數組的數組。n 維數組的元素是 n-1 維數組。例如,二維數組的每個元素都是一維數組,一維數組的元素當然就不是數組了。

多維數組聲明時,每個維度用一對方括弧來表示:char screen[10][40][80]; // 一個三維數組

數組 screen 包含 10 個元素,從 screen[0] 到 screen[9]。每個元素又是一個二維數組,它有 40 個元素,這 40 個元素均是一維數組,然後每個一維數組內都有 80 個字元。整體來說,screen 數組有 32000(10×40×80)個 char 類型元素。

想要獲取該三維數組 screen 內的某個 char 元素,必須指定 3 個索引值。例如,下面的語句把字元Z寫入該數組的最後一個元素位置:screen[9][39][79] = 'Z';

Ⅲ c語言二維數組

這個就是指針數組和數組指針的區別了,我當年也在這里轉了很久,希望我下面所說得可以幫到你。
首先,明確編譯器是怎麼識別*s[]和(*s)[]兩種形式的代碼的。對於*s[],編譯器會以默認的右結合的方式進行識別,所以首先識別s[],這是一個數組,然後再識別*,說明這個數組的元素都是指針。所以最後的結果就是:這是一個「以指針為元素的數組」,簡稱指針數組。而對於(*s)[],由於()的優先順序高於*,所以編譯器會先識別()裡面的,也就是先識別*s,所以它是一個指針,然後()說明這個指針指向的是一個數組,所以最後的結果是:這是一個「指向數組的指針」,簡稱數組指針。
好吧,我承認一點,就是這兩個東西看起來復雜,但是其實用起來區別不大,最本質的東西就是,指針數組用到多個指針,數組指針就完全是一個指針跑天下。
看下面一段代碼(我偷懶用C++寫的,反正這個不是重點):
#include
using
namespace
std;
int
main()
{
//指針數組
*a[2]
int
t1[3]
=
{0,1,2};
int
t2[3]
=
{3,4,5};
int
t3[3]
=
{6,7,8};
int
*a[3];
a[0]
=
t1;
//一個指針賦值
a[1]
=
t2;
//第二個指針賦值
a[2]
=
t3;
//第三個指針賦值
//數組指針
(*b)[3]
int
(*b)[3]
=
new
int[3][3];
for(int
i=0;i<3;i++)
for(int
j=0;j<3;j++)
*(*(b+i)+j)
=
i*3+j;
//一個指針跑天下
cout
<<
*((*b)+1)
<<
"
"
<<
*(*(b+1))
<<
endl;
system("pause");
return
0;
}
最後我想說,其實這個做題的時候有用,自己寫的時候還是盡量直接用int[n][m]的方式比較方便,稍微浪費點空間問題不大,重要的是看起來好看,不容易出錯。

Ⅳ 用C語言進行二維數組計數

#include<stdio.h>

void count(int x[100],int a[1000][10]){
int iA,iB;
for(iA=0; iA<100; iA++){
x[iA] = 0;
}//初始化
for(iA=0; iA<1000; iA++){
for(iB=0; iB<10; iB++){
if(a[iA][iB] >= 1 && a[iA][iB] <= 100){
x[a[iA][iB]-1] += 1;//x[?] 記錄 ?+1 出現的次數
}
}
}//遍歷數組
}

Ⅳ c語言二維數組怎麼表示

int
a[m][n];//就表示一個m行n列的整型二維數組
在c語言中數組的下標是從0開始的所以,數組a的元素個數可以表示為:a[0][0]-a[m-1][n-1]
例如:
#include<stdio.h>
int main()
{
int a[3][2],i,j;//定義一個3行2列的整型二維數組a
for(i=0;i<3;i++)//依次給二維數組賦值
for(j=0;j<2;j++)
scanf("%d",&a[i][j]);
printf("\n");
for(i=0;i<3;i++){//輸出二維數組
for(j=0;j<2;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}
/*
運行結果:
1 2
3 4
4 5
1 2
3 4
4 5
*/

Ⅵ c語言中 二維數組要怎麼輸入怎麼換行啊

scanf那行里的a[i][j]要寫成&a[i][j],輸入就正常的輸入就行了,其實scanf讀入數字的時候,數字可以用空格、回車或者TAB間隔,比如說一個2x2的數組,你輸入
10 11
12 13
或者輸入10 11 12 13都是可以的。

Ⅶ c語言中如何獲取一個二維數組的行列數

有兩種方式:
1 二維數組的行列數在定義的時候就是確定好的,所以編程人員是知道二維數組的大小以及行列數的。 所以可以直接使用行列數的值。
為方便維護,可以將行列數定義為宏,直接調用對應的宏名作為行列值。

2 動態獲取。
對於type array[A][B];形式的二維數組,可以通過計算sizeof獲取行列數。
sizeof(array[0][0])為一個元素佔用的空間,
sizeof(array[0])為一行元素佔用的空間,
sizeof(array)為整個數組佔用的空間,
於是:
行數 = sizeof(array)/sizeof(array[0]);
列數 = sizeof(array[0])/sizeof(array[0][0]);