c語言自定義二維數組
① c語言中定義一個二維數組
簡單點說 就不給代碼了 累。。。
思路就是用for循環 兩層循環就ok了
for(int i=0;i<多少多少;i++)
{
for(int j=0;j<多少多少;j++)
{
輸入那個語句忘了。。。汗。。。
}
}
② C語言問題。定義一個二維數組
#include<stdio.h>
intmain()
{
intarr[5][6];
inti,j,max,min,sum,a,b,c,d,e;
floatave;
printf("Input30numbers: ");
for(i=0;i<5;i++)
for(j=0;j<6;j++)
scanf("%d",&arr[i][j]);//此處為srr[i][j],你寫成srr[5][6]就成了為crr第6行第七列賦值了,不但錯誤,更是越界了!
printf(" ");
min=max=arr[0][0];//將最大值與最小值都初始化為第一個元素
a=b=c=d=0;//下標也要初始化!
for(i=0;i<5;i++)
for(j=0;j<6;j++)
{
if(max<arr[i][j])
{
max=arr[i][j];
a=i;
b=j;
}
if(min>arr[i][j])
{
min=arr[i][j];
c=i;
d=j;
}
}
printf("max=arr[%d][%d]=%d ",a,b,max);
printf("min=arr[%d][%d]=%d ",c,d,min);
sum=0;
for(i=0;i<5;i++)
{
for(j=0;j<6;j++)
sum+=arr[i][j];
e=i;
ave=sum/6.0;//寫成6.0使得sum提升到浮點型
printf("ave=arr[%d]=%f ",e,ave);
}
return0;
}
樓主基本沒有大錯誤,只是不夠仔細,用來保存特定值的變數使用前一定要初始化,如本例中的最大值,最小值,下標,都是必須初始化的!
整型與整型運算會得到整型,1/2=0,5/4=1;系統會捨去小數部分。只要將其中一個提升至浮點型即可,如1.0/2,5/4.0,如果是兩個整型變數,可以寫成(float)a/b,即可使得得到浮點型結果!
2013 5 25 7:05
1L
耗時 4min
③ C語言 定義二維數組
二維數組定義的一般形式是:
類型說明符 數組名[常量表達式1][常量表達式2]
其中常量表達式1表示第一維下標的長度,常量表達式2 表示第二維下標的長度
inta[3][4];
④ c語言怎麼創建二維數組
int a[m][n];//就表示一個m行n列的整型二維數組
在c語言中數組的下標是從0開始的所以,數組a的元素個數可以表示為:a[0][0]-a[m-1][n-1]
例如:
#include<stdio.h>
intmain()
{
inta[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(" ");
for(i=0;i<3;i++){//輸出二維數組
for(j=0;j<2;j++)
printf("%d",a[i][j]);
printf(" ");
}
return0;
}
/*
運行結果:
12
34
45
12
34
45
*/
⑤ C語言中如何定義一個二維數組,數組長度由輸入值確定
可以通過malloc()函數動態分配,示例:
//---------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
typedef int datatype;
datatype **na(const int m,const int n) /*創建一個m行n列的datatype類型數組,返回首地址,如果創建失敗則返回NULL*/
{
int i;
datatype **a=(datatype**)malloc(sizeof(datatype *)*m);
if (!a) {
return NULL;
}
else
for (i = 0; i<m; i++) {
a[i]=(datatype*)malloc(sizeof(datatype)*n);
if (!a[i]) {
return NULL;
}
}
return a;
}
void dela(datatype **a,const int m) /*刪除用na()函數創建的並且有m行元素的二維數組a*/
{
int i;
for (i = 0; i<m; i++)
free(a[i]);
free(a);
}
int main(void)
{
datatype **dta=na(3,2); /*創建一個3行2列的datatype數組*/
int i,j;
if (!dta) { /*如果創建失敗,則輸出錯誤信息並結束程序*/
fprintf(stderr,"MEMORY ERROR\n");
return -1;
}
else
{
for (i=0; i<3; i++) { /*使用剛才創建的二維數組*/
for (j=0; j<2; j++) {
dta[i][j]=i*j;
printf("%d ",dta[i][j]);
}
putchar('\n');
}
}
dela(dta,3); /*動態創建的數組要手動刪除*/
return 0;
}
//---------------------------------------------------------------------------
⑥ c語言如何定義二維數組
二維數組定義的一般形式是:
dataType arrayName[length1][length2];
其中,dataType 為數據類型,arrayName 為數組名,length1 為第一維下標的長度,length2 為第二維下標的長度。
例如:
int a[3][4];
定義了一個 3 行 4 列的二維數組,共有 3×4=12 個元素,數組名為 a,即:
a[0][0], a[0][1], a[0][2], a[0][3]
a[1][0], a[1][1], a[1][2], a[1][3]
a[2][0], a[2][1], a[2][2], a[2][3]
⑦ c語言怎麼定義二維數組
#include<stdio.h>
#defineN3
#defineM4
voidmain()
{
inta[N][M];
intb[M][N];
inti,j;
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
{
printf("%5d",b[i][j]);
}
printf(" ");
}
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
{
b[j][i]=a[i][j];
}
}
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
printf("%5d",b[i][j]);
}
printf(" ");
}
}
⑧ c語言中二維數組的定義
c語言中,要定義一個三行四列的int二維數組,可以採用以下的語句:
int a[3][4];
⑨ C語言中如何定義一個二維數組
用指針new出來 二維數組定義必須規定列 int a[][6]這樣吧 所以用指針動態開
⑩ c語言中二維數組的定義
二維數組定義的一般形式是:
類型說明符 數組名[常量表達式1][常量表達式2]
其中常量表達式1表示第一維下標的長度,常量表達式2 表示第二維下標的長度
int a[3][4];