若数组A[0..m-1][0..n-1]按列优先顺序存储,每个元素占d个字节,则aij地址为______。
A: LOC(0,0)+(j*m+i)×d
B: LOC(0,0)+(j*n+i)×d
C: LOC(0,0)+((j-1)*n+i-1)×d
D: LOC(0,0)+((j-1)*m+i-1)×d
A: LOC(0,0)+(j*m+i)×d
B: LOC(0,0)+(j*n+i)×d
C: LOC(0,0)+((j-1)*n+i-1)×d
D: LOC(0,0)+((j-1)*m+i-1)×d
举一反三
- 设m行n列二维数组按行优先顺序存储,则元素A[i][j]的地址是。[/i] A: LOC(A[0][0])+(i*m+j) B: LOC(A[0][0])+(i*n+j) C: LOC(A[0][0])+[(i-1)*n+j-1] D: LOC(A[0][0])+[(i-1)*m+j-1]
- 将10个数据按升序顺序排序,补全选择排序程序代码中语句。 main() {int a[10],n=10, i, j, loc,t; for(i=0;i[n;i++) scanf("%d",&a[i]); for(_____;i<n-1;i++) { ____________; for(j=i+1;j<10;j++) if(a[loc]]a[j]) loc=j; if(loc!=i) {t=a[i]; a[i]=a[loc]; a[loc]=t;} } for(i=0;i<10;i++) printf("%d ",a[i]); }[/i][/i][/i][/i] A: i=0 和 loc=i+1 B: i=0 和 loc=i C: i=1 和 loc=i D: i=1和 loc=i+1
- 二维数组A[n][m]以列优先顺序存储,数组A中每个元素占用1个字节,A[1][1]为首元素,其地址为0,则元素A[i][j]的地址为() A: (i-1)×m+(j-1) B: (j-1)×n+(i-1) C: (j-1)×n+i D: j×n+i
- 设二维数组A[0..m-1][0..n-1]按行优先顺序存储在内存中,每个元素aij占d个字节,则元素aij的地址为( ) A: LOC(a00)+(j*n+i-1)*d B: LOC(a00)+((j-1)*n+i-1)*d C: LOC(a00)+((i-1)*n+j-1)*d D: LOC(a00)+(i*n+j)*d
- 下列程序输出结果是:() int i,j,m,n; m=n=0; for(i=0;i<2;i++) for(j=0;j<2;j++) if(j>=i)m=1;n++; printf("n=%d ",n);