更多“若二维数组a有m列,则在a[i][j]前的元素个数为( )。A.i*m+j-1B.i*m+jC.j*m+ID.i*m+j+1”相关问题
  • 第1题:

    若二维数组a有m列,则在a[j]前的元素个数为()。

    A.j*m+i

    B.i*m+j

    C.i*m+j-1

    D.i*m+j+1


    参考答案B

  • 第2题:

    若二维数组a有m列,且设a[0][0]位于数组的第一个位置上,则计算任一元素a[i][j]在数组中的位置的式子为( )

    A.i*m+j

    B.j*m+i

    C.i*m+j-1

    D.i*m+j+1


    正确答案:D

  • 第3题:

    若二维数组b有m列,则在b[i][j]前的元素的个数为【 】。


    正确答案:i*m+j
    i*m+j 解析:二维数组b有m列,说明二维数组b每行中有m个元素,所以在b[i][j]之前的元素为i*m+j。

  • 第4题:

    若二维数组a有m列,则在a[i][j]前的元素个数为( )。

    A.j*m+i

    B.i*m+j

    C.i*m+j-1

    D.i*m+j+


    正确答案:B
    解析:二维数组a的第0~i-1行共有i*m个元素,第i行第j列的元素是第i*m+j+1个元素,因此a[i][j]前的元素个数有i*m+j个。

  • 第5题:

    若二维数组a有m列,且设a[0][0]位于数组的第一个位置上,则计算任一元素a[i][j]刚在数组中的位置的式子为( )。

    A.i*m+j

    B.j*m+i

    C.i*m+j-1

    D.i*m+j+l


    正确答案:D
    解析:解此题要注意的问题有两个:一是,二维数组在内存中的存放形式是线性的,且是以行方式排列的。例如:a[3][4]在内存中是以a[0][0],a[0][1],a[0][2],a[0][3],a[1][0],a[1][1],a[1][2],…的顺序排列的。二是,数组的下标范围是从0开始至上限减1为止的。例如:a[5]中5个元素的下标范围是0~4。所以,元素a[i][j]刚在m列的二维数组a中,其上面已经有a[0][?]~a[i-1][?],i行元素,加上其左面的a[i][0]~a[i][j-1],j个元素,再加上自己所处的位置1就是该元素在数组中的位置值了。i行元素的个数是i*m,所以元素a[i][j]在数组中的位置为i*+j+1。得出结论后还应该验证一下,当i=0,j=0时,a[0][0]所处的位置代入式子为0*m+0+1:1,符合题意。故正确答案为D。

  • 第6题:

    二维数组a[1..N,1..n]可以按行存储或按列存储。对于数组元素a[i,j](1,=

    A.i≠j

    B.i=j

    C.i>j

    D.i


    正确答案:B

  • 第7题:

    设数组a[0..n-l,O..m-l] (n>l,m>l)中的元素以行为主序存放,每个元素占用1个 存储单元,则数组元素a[ij](0<i<n,0<j<m)的存储位置相对于数组空间首地址的偏移量为(35)。

    A.j*m+i

    B.i*m+j

    C.j*n+i

    D.i*n+i


    正确答案:B
    本题考查程序语言基础知识。对于元素a[ij]按行存储方式下,其前面共有i行(行下标为0至行下标为i-l)、每行m个元素,合计i*m个元素。数组a中行下标为i的元素有a[i,0],a[i,l]....a[i,j-1],a[i,j]....a[i,m-1],显然在该序列中,a[ij]之前有j个元素,因此,数组元素a[i.i](0in,0jm)之前共有i*m+j个元素,由于每个占用1个存储单元,故该元素的存储位置相对于数组空间首地址的偏移量为i*m+j。

  • 第8题:

    设有一个m行n列的矩阵存储在二维数组A[1..M,1..n]中,将数组元素按行排列,对于A[i,j](1≤i≤m,l≤j≤n),排列在其前面的元素个数为( ).

    A.i*(n-1)+j
    B.(i-1)*n+J-1
    C.i*(m-l)+j
    D.(i-1)*m+J-1

    答案:B
    解析:
    本题考查数据结构基础知识。二维数组A[1..m,1.n]如下所示。



    对于元素A[i,j],其之前有i-1行、每行n个元素,在第i行上,A[i,j]之前有j-1个元素,因此,按行排列时,A[i,j]之前共有(i-1)*n+j-1个元素。

  • 第9题:

    若二维数组arr[1..M,1..N]的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arr[i,j]在该数组空间的地址为______。

    A.base+((i-1)*M+j-1)*K
    B.base+((i-1)*N+j-1)*K
    C.base+((j-1)*M+i-1)*K
    D.base+((j-1)*N+i-1)*K

    答案:C
    解析:
    本题考查数组元素的存储知识。二维数组arr[1..M,1..N]的元素可以按行存储,也可以按列存储。按列存储时,元素的排列次序为,先是第一列的所有元素,然后是第二列的所有元素,最后是第N列的所有元素。每一列的元素则按行号从小到大依次排列。因此,对于元素arr[i,j],其存储位置如下计算:先计算其前面j-1列上的元素总数,为(j-1)*M,然后计算第j列上排列在arr[i,j]之前的元素数目,为i-1,因此arr[i,j]的地址为base+((j-1)*M+i-1)*K。

  • 第10题:

    若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式是()(假设a[0][0]位于数组的第一个位置上。)

    • A、i*m+j
    • B、j*m+i
    • C、i*m+j-1
    • D、i*m+j+1

    正确答案:D

  • 第11题:

    若二维数组a有m列,则在a[i][j]前的元素个数为().

    • A、j*m+i
    • B、i*m+j
    • C、i*m+j-1
    • D、i*m+j+1

    正确答案:B

  • 第12题:

    若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为()。(设a[0][0]位于数组的第一个位置上)

    • A、i*m+j
    • B、j*m+i
    • C、i*m+j-1
    • D、i*m+j+1

    正确答案:A

  • 第13题:

    若二维数组a有m列,则在a[i][j]前的元素个数为( )。

    A.i*m+j-1

    B.i*m+j

    C.j*m+1

    D.i*m+i+1


    正确答案:B
    解析:二维数组的元素可以看成是按矩阵形式存放的,总是先存放第一行的元素,再存放第二行的元素。数组第一维的下标是i,说明它前面还有i行,有i*m个元素,数组第二维的下标是j,说明它前面还有j列,有j个元素,所以共有i*m+j个元素。

  • 第14题:

    若二维数组a有m列,则在a[i][j]前的元素个数为( )。

    A.i*m+j-1

    B.i*m+j

    C.J*m+i

    D.i*m+j+1


    正确答案:B
    二维数组的元素可以看成是按矩阵形式存放的,数组第一维的下标是i,说明它前面还有i行,有i*m个元素,数组第二维的下标是j,说明它前面还有j列,有j个元素,所以共有i*m+j个元素。

  • 第15题:

    若二维数组a有m列,则在a[i][j]前的元素个数为

    A.j*m+i

    B.i*m+j

    C.i*m+j-1

    D.i*m+j+1


    正确答案:B
    解析:本题考查了二维数组元素的引用及基本概念。元素a[i][j]是数组a的第i+1行,j+1列位置上的元素。由于数组a有m列,所以a[i][j]之前还有i*m+j个元素。

  • 第16题:

    ●若二维数组arr[1..M,1..N】的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arr[i,j]在该数组空间的地址为 (21)。

    (21)

    A. base+((i-1)*M+j-1)*K

    B.base+((i-1)*N+j-1)*K

    C.base+((j-1)*M+i-1)*K

    D.base+((j-1)*N+i-1)*K


    正确答案:C

  • 第17题:

    设有一个m行n列的矩阵存储在二维数组A[1..M,1..n]中,将数组元素按行排列,对于A[i,j](1≤i≤m,l≤j≤n),排列在其前面的元素个数为( )。

    A.i*(n-1)+jB.(i-1)*n+J-1C.i*(m-l)+jD.(i-1)*m+J-1


    正确答案:B

  • 第18题:

    若二维数组a有m列,且设a[0][0]位于数组的第一个位置上,则计算任意元素a[i][j]在数组中位置的公式为______。

    A.i*m+j

    B.j*m+i

    C.i*m+j-1

    D.i*m+j+1


    正确答案:D
    解析:a[i][j]的位置应该是第i+1行,第j+1列,那么它的位置是(i+1-1)*m+j+1=i*m+j+1。

  • 第19题:

    设数组a[0..n-1,0..m-1](n>1,m>1)中的元素以行为主序存放,每个元素占用1个存储单元,则数组元素a嘶](0<i<n,0<j<m)的存储位置相对于数组空间首地址的偏移量为( )。

    A.j*m+i
    B.i*m+j
    C.j*n+i
    D.i*n+j

    答案:B
    解析:
    本题考查程序语言基础知识。
    对于元素a[i,j],按行存储方式下,其前面共有i行(行下标为0至行下标为i-1)、每行m个元素,合计i*m个元素。数组a中行下标为i的元素有a[i,0]、a[i,1]、…、a[i,j-1]、a[i,j]、…、a[i,m-1],显然在该序列中,a[i,j]之前有j个元素,因此,数组元素a[i,j](0<i<n,0<j<m)之前共有i*m+j个元素,由于每个占用1个存储单元,故该元素的存储位置相对于数组空间首地址的偏移量为i*m+i。

  • 第20题:

    若二维数组arr[1…M,1…N]的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arr[i,j]在该数组空间的地址为( )。

    A.base+((i一1)*M*j-i)*K
    B.b ase+((i-1)*N+j-1)*K
    C.baSe+((j-l)*M十i-1)*K
    D.base+((j-1)*N+i-1)*K

    答案:C
    解析:

  • 第21题:

    若二维数组a有m列,则计算任一元素a[i][j]在数组中相对位置的公式为(假设a[0][0]位于数组的第一个位置上)( )

    A.i*m+j
    B.j*m+i
    C.i*m+j-1
    D.i*m+j+1

    答案:A
    解析:

  • 第22题:

    设二维数组A[1..m,1..n](即m行n列)按行存储在数组B[1..m*n]中,则二维数组元素A[i,j]在一维数组B中的下标为()。

    • A、(i-1)*n+j
    • B、(i-1)*n+j-1
    • C、i*(j-1)
    • D、j*m+i-1

    正确答案:A

  • 第23题:

    若a为二维数组,它有m列,则a[i][j]在数组中的位置是()

    • A、 i*m+j
    • B、 j*m+i
    • C、 i*m+j-1
    • D、 i*m+j+1

    正确答案:D

  • 第24题:

    单选题
    设二维数组A[1.. m,1.. n](即m行n列)按行存储在数组B[1.. m*n]中,则二维数组元素A[i,j]在一维数组B中的下标为()。
    A

    (i-1)*n+j

    B

    (i-1)*n+j-1

    C

    i*(j-1)

    D

    j*m+i-1


    正确答案: D
    解析: 特殊值法。取i=j=1,易知A[1,1]的的下标为1,四个选项中仅有A选项能确定的值为1,故选A。