二维数组M【i,j】的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到4,列下标j的范围从0到5.M按行存储时元素M【3,5】的起始地址御M按列存储时元素()的起始地址相同
A.M[2,4]
B.M[3,4]
C.M[3,5]
D.M[4,4]
M
A.M[2,4]
B.M[3,4]
C.M[3,5]
D.M[4,4]
M
A.M[2][4]
B.M[3][4]
C.M[3][5]
D.M[4][4]
SumColumMin()的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。
#include<stdio.h>
#define M 2
#define N 4
void SumColumMin(______)/*第一空*/
{int i,j,k,s=0;
for(i=0;i<N;i++)
{k=0;
for(j=1;j<M;j++)
if(______)k=j;/*第二空*/
s+=a[k][i];
}
______;/*第三空*/
}
main()
{int x[M][N]={3,2,5,1,4,1,8,3},s;
SumColumMin(x,&s);
printf("%d\n",s);
}
已知二维数组A[m][n]采用行序为主方式存储,每个元素占k个存储单元,并且第一个元素的存储地址是LOC(A[0][0]),则A[i][j]的地址是______。
函数YangHui的功能是把杨辉i角形的数据赋给二维数组的下半三角,形式如下:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
其构成规律是:(1) 第0列元素和主对角线元素均为1(2) 其余元素为其左上方和正上方元素之和(3) 数据的个数每行递增1
#include<stdio.h>
#define N 5
void YangHui(int x[N][N])
{int i,j;
x[0][0]=1;
for(i=1;i<N;i++)
{x[i][0]=______=1;/*第一空*/
for(j=1;j<i;j++)
if(______)/*第二空*/
x[i][j]=______;/*第三空*/
}
}
下面程序将二维数组a的行和列元素互换后存到另一个二维数组b中,请填空。
main()
{
int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2],i,j;
printf("array a:\n");
for(i=0;i<=1;i++)
{
for(j=0;______;j++)
{
printf("%5d",a[i][j]);
______;
}
printf("\n");
}
printf("array b:\n");
for(i=0;______ ;i++)
{
for(j=0;j<=1;j++)
printf("%5d",b[i][j]);
printf(”\n”);
}
}
A、80
B、100
C、240
D、270
以下程序是输出二维数组的第二行到第4行,请填空。 void writearray(int(*p)[____________],int m,int n) {int i,j; for(i=m;i<=n;i++) {for(j=0;j<___________;j++) printf(“%d”,*(*(____________)+___________)); printf(“\n”); ) ) main() {int a[6][5],i,j; for(i=0;i<6;i++) for(j=0;j<5;j++) scanf(“%d”,a[i]+j); writearray(_________,2,4); )
A.0
B.3
C.4
D.6
若有定义语句 :int m[]={5,4,3,2,1},i=4; ,则下面对 m 数组元素的引用中错误的是
A)m[--i]
B)m[2*2]
C)m[m[0]]
D)m[m[i]]