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';