单选题设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素舌一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。A 688B 678C 692D 696

题目
单选题
设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素舌一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。
A

688

B

678

C

692

D

696


相似考题
更多“设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个”相关问题
  • 第1题:

    [说明1]

    函数void convelt(chal *a,int n)是用递归方法将一个正整数n按逆序存放到一个字符数组a中,例如,n=123,在a中的存放为'3'、'2'、'1'。

    [C函数1]

    void convert(char *a,int n)

    { int i;

    if((i=n/10)!=0; convert( (1) ,i);

    *a= (2) ;

    }

    [说明2]

    函数int index(char *s,char *t)检查字符串s中是否包含字符串t,若包含,则返回t在s中的开始位置(下标值),否则返回-1。

    [C函数2]

    int index(char *s,char *t)

    { int i,j=0;k=0;

    for(i=0;s[i]!:'\0';i++)

    ( for( (3) ;(t[k]!='\0')&&(s[j]!='\0')&&( (4) );j++,k++);

    if( (5) ) return(i);

    }

    return(-1);

    }


    正确答案:(1) A+1 (2) n%10+'\0' (3) j=ik=0 (4) t[k]==s[j] (5) t[k]=='\0'或!t[k]
    (1) A+1 (2) n%10+'\0' (3) j=i,k=0 (4) t[k]==s[j] (5) t[k]=='\0'或!t[k] 解析:函数1采用递归方法将一个正整数n按逆序存放到一个字符数组a中,递归调用为convert(a+1,i),所以(1)“a+1”。按逆序输出字符保存在数组a中为*a=n%10+'\0',即(2)填“n%10+'\0'”。
    函数2检查字符串s中是否含有字符串t是在for循环中实现的。空(3)应填“j=i,k=0”。如果两个字符串中含有相同的字符,则字符串s和字符串t都指向下一个字符,循环继续,直到字符串t结束。所以空(4)应填“t[k]=s[j]”,空(5)应填“t[k]='\0'”或“!t[k]”。

  • 第2题:

    下面程序将二维数组a的行和列元素互换后存放到另一个二维数组b中,请填空。 main() {int a[2][3]={{1,2,3},{4,5}},b[3][2],i,j; for(i=0;i<2;i++) {for(j=0;j<3;j++) ( ); } }


    正确答案:b[j][i]=a[i][j]
    b[j][i]=a[i][j]

  • 第3题:

    设有数组A[m,n],数组的每个元素占3个存储单元,m的值为1~8,n的值为 1~10。数组从首地址W开始顺序存放,当以列为主序存放时,元素A[5,8]的存储首地址为(4)。

    A.W+222

    B.W+225

    C.W+141

    D.W+180


    正确答案:D
    解析:以列为主序存储就是把二维数组中的数据一行一行地顺次存入存储单元。二维数组A[1..m,1..n)若以列为主序存储,那么A的任意一个元素A[i][j]的存储首地址 Loc(i,j)可由下式确定:
            Loc(i,j)=Loc(1,1)+[m×(j-1)+i-1)×b其中,Loc(1,1)是第一个元素A[1][1]的首地址,b是每个元素占用的存储单元个数。此题中代入数值得:Loc(5,8)=W+[8×(8-1)+5-1)×3=W+180,于是选择D。

  • 第4题:

    设有二维数组A[0…8,0…9],其中每个元素占2个字节,从首地址400开始,按行优先顺序存放,则元素A[8,5]的存储地址为______。

    A.570

    B.506

    C.410

    D.482


    正确答案:A

  • 第5题:

    设有下三角矩阵A[0.. 10,0.. 10],按行优先顺序存放其非零元素,每个非零元素占两个字节,存放在基地址为100的数组中,则元素A[5,0]的存放地址为(25)。

    A.110

    B.120

    C.130

    D.140


    正确答案:C
    解析:本题考查下三角矩阵的结构特点。下三角矩阵是指对角线以上的元素全为0的矩阵。由此可以知道矩阵中第一行的非0元素为1个,因此要存放到数组的元素就只有一个,而向下逐行增加一个要存放到数组的元素。元素A[5,0]是矩阵中第6行第1列的元素,而在把它存放到数组以前,数组中已经存放的元素个数为1+2+3+4+5=15,而题目告诉我们每个非零元素占两个字节,那么它存放的地址应该是100+15×2=130。

  • 第6题:

    ●设有二维数组a[1..m,1..n](2<m<n),其第一个元素为a[1,1],最后一个元素为a[m,n],若数组元素以行为主序存放,每个元素占用k个存储单元(k>1),则元素a[2,2]的存储位置相对于数组空间首地址的偏移量为(35)。

    A.(n+1)*k

    B.n*k+l

    C.(m+1)*k

    D.m*k+l


    正确答案:A

  • 第7题:

    设有一个二维数组A[10][20]按行存放于一个连续的存储空间中,A[0][0]的存储地址是200,每个数组元素占1个存储字,则A[6][2]的存储字地址是(37)。

    A.284

    B.308

    C.322

    D.358


    正确答案:C
    解析:按行存储时,计算A[i][j]地址的公式为LOC(i,j)=LOC(0,0)+(i*n+j)*d其中首地址LOC(0,0)=200,每个数组元素的存储占用数d=1,二维数组的列数n=20,根据题意,元素A[6][2]的存储地址为:LOC(6,2)=200+(6*20-2)*1=322

  • 第8题:

    若二维数组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。

  • 第9题:

    设数组a[0..n-1,0..m-1](n>1,m>1)中的元素以行为主序存放,每个元素占用4个存储单元,则数组元素a[i,j](0≤i
    A. (j*m+i)*4
    B.(i*m+j)*4
    C.(j*n+i)*4
    D.(i*n+j)*4

    答案:B
    解析:
    本题考查数据结构基础知识。
    数组a的元素可示意如下。

    对于元素按行排列时,其之前有i行且每行有m个元素(行下标为0,1,…,i-1),即i*m个,行下标为i时,排列在a[i,j]切之前的元素有a[i,0],a[i,1],…,a[i,j-1],即j个,所以一共有i*m+j个元素排在a[i,j]之前,因此该元素的存储位置相对于数组空间首地址的偏移量为(i*m+j)*4。

  • 第10题:

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

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

    答案:C
    解析:
    数组a[0..n-1,0..m-1](n>0,m>0)表示有n行m列,数组元素的存储地址=数组空间首地址+偏移量。其中偏移量的计算方式为排列在所访问元素之前的元素个数乘以每个元素占用的存储单元数。对于元素a[i,j],在按列存储(以列为主序存放)方式下,该元素之前有j列完整(因为首列编号为0)的元素,每一列n个元素,在第j列之前有i个元素(因为首行编号为0),所以偏移量为j*n+i。

  • 第11题:

    设二维数组为M[0‥8,0‥10],每个元素占2L个存储单元,以行序为主序存储,第一个元素的存储位置为P。存储位置为P+50L的元素为()。

    • A、M[2,3]
    • B、M[2,2]
    • C、M[3,3]
    • D、M[3,4]

    正确答案:A

  • 第12题:

    单选题
    设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。()
    A

    688

    B

    678

    C

    692

    D

    696


    正确答案: D
    解析: 暂无解析

  • 第13题:

    ( 15 ) 1 个二维数组可以存放 1 个矩形 . 在程序开始有语句 Option Base 0, 则下面定义的数组中正好可以存放 1 个 4*3 矩阵(即只有 12 个元素)的是( )

    A ) Dim a ( -2 To 0,2 ) AS Integer

    B ) Dim a ( 3,2 ) AS Ingeger

    C ) Dim a ( 4,3 ) AS Ingeger

    D ) Dim a ( -1 To -4,-1 To -3 ) AS Ingeger


    正确答案:B

  • 第14题:

    设有一个二维数A[m][n],以行序为主序存储。假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,则A[4][5]在()位置,(10)表明用10进数表示。

    :A692(10)

    B626(10)

    C709(10)

    D724(10)


    参考答案:C

  • 第15题:

    一个nxn的对称矩阵A,将其下三角部分按行存放在一个一维数组B中。 A[0][0]存放于B[O]中,那么第i行的对角元素A[i][i]存放于B中(50)处。

    A.(i+3)*i/2

    B.(i+1)*i/2

    C.(2n-i+1)*i/2

    D.(2n-i-1)*i/2


    正确答案:A
    解析:任意一个元素A[i][i]在B中的位置为:1+2+3+…+i+i+1-1=i*(i+1)/2+i=(i+3)*i/2。

  • 第16题:

    插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入到己排序序列中的正确位置。InsertSort类的成员函数sort()实现了插入排序算法。请将画线处缺失的部分补充完整。

    class InsertSort{

    public:

    InsertSort(int* a0,int n0):a(a0),n(n0){}//参数a0是某数组首地址,n是数组元素个数

    void sort()

    {//此函数假设已排序序列初始化状态只包含a[0],未排序序列初始为a[1]…a[n-1]

    for(int i=1;i<n;++i){

    int t=a[i];

    int j;

    for(【 】;j>0;--j){

    if(t>=a[j-1])break;

    a[j]=a[j-1];}

    a[j]==t;}}

    protected:

    int*a,n;//指针a用于存放数组首地址,n用于存放数组元素个数

    };


    正确答案:j=i
    j=i 解析:本题考查的是插入排序算法。在sort()函数中是一个两重循环,外循环从1循环递增到n-1,即遍历未排序序列a[1]…a[n-1],取未排序序列中的第1个元素a[i] (i初值等于1)与已排序序列中的最后一个元素a[i-1]开始从后往前进行比较。内循环从后往前遍历已排序序列,使循环变量j的初值为i,则a[j-1]是已排序序列的最后一个元素。所以应该填j=i

  • 第17题:

    若二维数组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

  • 第18题:

    设有一个10阶的对称矩阵A[10][10],采用压缩存储方式按行将矩阵中下三角部分的元素存入一维数组B[]中,A[0][0]存入B[0]中,则A[8][5]在B[]中( )位置。

    A.32

    B.33

    C.41

    D.65


    正确答案:C
    解析:设有一个10阶的对称矩阵A[10][10],采用压缩存储方式按行将矩阵中下三角部分的元素存入一维数组B[]中,A[0][0]存入B[0]中,则A[8][5]在B[]中41=1+2+3+4+5+6+7+8+5位置。

  • 第19题:

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

    A.(j*m+i)*4B.(i*m+j)*4C.(j*n+i)*4D.(i*n+j)*4


    正确答案:B

  • 第20题:

    设数组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。

  • 第21题:

    设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3]存放在什么位置?脚注(10)表示用10进制表示。()

    A.678
    B.688
    C.692
    D.696

    答案:C
    解析:
    A[2][2]是A[0][0]后面的第2n+2个元素,即2n+2=676-644,解得n=15。A[3][3]是A[2][2]后面的第n+1个元素,676+n+1=692,则A[3][3]存放位置是692。

  • 第22题:

    若二维数组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

  • 第23题:

    单选题
    设二维数组为M[0‥8,0‥10],每个元素占2L个存储单元,以行序为主序存储,第一个元素的存储位置为P。存储位置为P+50L的元素为()。
    A

    M[2,3]

    B

    M[2,2]

    C

    M[3,3]

    D

    M[3,4]


    正确答案: C
    解析: 暂无解析

  • 第24题:

    单选题
    已知二维数组A[6][10],每个数组元素占4个存储单元,若按行优先顺序存放数组元素a[3][5]的存储地址是1000,则a[0][0]的存储地址是()。
    A

    872

    B

    860

    C

    868

    D

    864


    正确答案: C
    解析: 暂无解析