c語言2數組
1. c語言2維數組的輸出
1.在你的程序中有這么一句for(i=9;i<=9;i++)
{
for(r=9;r<=9;r++)
在for循環語句中表達式1,也就是相當於i=0;這一句,初值表達式,是對循環變數賦初值的,輸出a[i][r]當然要從i=0,r=0開始。
2.for循環中,表達式2,也就是本題中的i<9,是循環的條件,有時也可以說是循環的次數。
3.注意,在數組中,下標的合理長度是[0,
數組長度減1].所以應該是
for(i=0;i<9;i++){
for(r=0;r<9;r++)
修改後如下:
#include"stdio.h"
void
main()
{
int
a[9][9]={
{10,11,15,19,18,45,66,22,99},
{50,40,61,85,67,41,63,51,30},
{25,29,84,66,11,26,18,59,19},
{10,88,98,89,31,36,39,28,32},
{22,34,41,32,75,73,78,45,11},
{12,35,38,23,21,59,17,44,47},
{31,41,16,76,91,16,14,67,42},
{49,54,59,56,87,78,25,26,93},
{60,34,34,32,56,33,38,37,95}
},i,r;
for(i=0;i<9;i++){
for(r=0;r<9;r++)
printf("%3d",a[i][r]);
printf("\n");
}
}
運行結果為:
不明白,還可以問啊!
2. 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]
3. C語言二維數組
c[][1]={1,2,3}; 根據初始化的數據,得出這個數組 有3行,每行1列。
等價於聲明了: c[3][1];
所以 語句 要 用 for (x=0;x<3;x++) for (y=0;y<1;y++) { 來輸出 c[x][y] }
而你用 了 y<3, 所以錯了,
有c[0][0], 沒有 c[0][1], 沒有 c[0][2],
有c[1][0], 沒有 c[1][1], 沒有 c[1][2],
有c[2][0], 沒有 c[2][1], 沒有 c[2][2].
4. C語言二維數組
#include<stdio.h>
intmain()
{
intscore[5][3];
floatave_score_1[5];
floatave_score_2[3];
inti,j;
intsum_score;
printf("Pleaseinputthescore: ");
for(i=0;i<5;i++)
{
scanf("%d%d%d",&score[i][0],&score[i][1],&score[i][2]);
}
for(i=0;i<5;i++)
{
sum_score=0;
for(j=0;j<3;j++)
{
sum_score+=score[i][j];
}
ave_score_1[i]=sum_score/3.0;
}
for(j=0;j<3;j++)
{
sum_score=0;
for(i=0;i<5;i++)
{
sum_score+=score[i][j];
}
ave_score_2[j]=sum_score/5.0;
}
for(i=0;i<5;i++)
{
printf("%f",ave_score_1[i]);
}
printf(" ");
for(j=0;j<3;j++)
{
printf("%f",ave_score_2[j]);
}
return0;
}
5. c語言二維數組
1、首先是定義一個二級指針和行列變數【int **array,row,column;】。
6. c語言二維數組
例如對整型二維數組a[3][2]賦值方法一:在定義的同時賦值 int a[3][2]={0};//所有數組元素均為0 方法二: int a[3][2]={1,2,3,4,5,6};//常規的賦值方法方法三: int a[3][2]={{1,2},{3,4},{5,6}};//分行的賦值方法方法四: int a[3][2]={{1,2},{0},{3}};//部分賦值方法,第一行元素的值分別為1,2,第二行元素值都是0,第三行第一個元素值為3,第二個元素值為0 方法五: int a[3][2];/先定義 for(i=0;i<=3;i++) //用雙重for循環賦值,i,j表示二維數組下標 for(j=0;j<=2;j++) scanf("%d",&a[i][j]); 希望對你有所幫助。
7. C語言二維數組
c語言中直接輸出一個二維數組是用數組來訪問輸出的,例子:
#include<stdio.h>
#defineM4
#defineN3
voidmain()
{
inta[M][N],i,j;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
a[i][j]=3*i+j;
for(i=0;i<M;i++)
{ for(j=0;j<N;j++)
printf("%d ",a[i][j]);//直接用數組來訪問
printf("
");
}
}
除了可以直接訪問,也可以用指針來訪問,用指針指向該數組,便可進行對數組的讀寫操作。
運行結果圖:
8. C語言二維數組
float a[10][3]; 存10個學生的3門成績
float b[10][2]; 存10個學生的3門成績 總分 和 平均分。
依次輸入每個學生的 3門成績。計算每人的 總分,計算每人的平均分。再輸出。
#include<stdio.h>
int main(){
float a[10][3];
float b[10][2];
int i,j;
for (i=0;i<10;i++){
printf("input Math Chinese English scores for student %d\n", i+1);
for (j=0;j<3;j++) scanf("%f",&a[i][j]);
};
for (i=0;i<10;i++) {
b[i][0]=0;
for (j=0;j<3;j++) b[i][0]=b[i][0]+a[i][j];
b[i][1]=b[i][0]/3.0;
};
for (i=0;i<10;i++) printf("Student %d, total=%g, mean=%g\n",i+1,b[i][0],b[i]
[1]);
return 0;
}
9. 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';