单选题设有一个M*N的矩阵已经存放在一个M行N列的数组x中,且有以下程序段:sum=0;for(i=0;i A 矩阵两条对角线元素之和B 矩阵所有不靠边元素之和C 矩阵所有元素之和D 矩阵所有靠边元素之和

题目
单选题
设有一个M*N的矩阵已经存放在一个M行N列的数组x中,且有以下程序段:sum=0;for(i=0;i
A

矩阵两条对角线元素之和

B

矩阵所有不靠边元素之和

C

矩阵所有元素之和

D

矩阵所有靠边元素之和


相似考题
更多“单选题设有一个M*N的矩阵已经存放在一个M行N列的数组x中,且有以下程序段:sum=0;for(i=0;i A 矩阵两条对角线元素之和B 矩阵所有不靠边元素之和C 矩阵所有元素之和D 矩阵所有靠边元素之和”相关问题
  • 第1题:

    设有如下所示的下三角矩阵A[0..8,0..8],将该三角矩阵的非零元素(即行下标不小于列下标的所有元素)按行优先压缩存储在数组M[1..m]中,则元素A[i,j](0≤i≤8,j≤i)存储在数组M的(58)中。

    A.

    B.

    C.

    D.


    正确答案:A
    解析:本题中注意M数组从1开始,A[i,j]前有i行,元素个数分别为1,2,3……i共i*(i+1)/2个,加上A[i,0],A[i,1],……A[i,j]共j+1个,总计i*(i+1)/2+j+l。对应关系:M[1]-A[0,0],M[2]-A[1,0],……M[i*(i+1)/2+j+1]-A[i,j]。

  • 第2题:

    已知有一维数组A(0..m*n-1],若要对应为m行、n列的矩阵,则下面的对应关系(4)可将元素A[k](0≤k<m*n)表示成矩阵的第i行、第j列的元素(0≤i<m,0≤j<n)。

    A.i=k/n,j=k%m

    B.i=k/m,j=K%m

    C.i=k/n,j=k%n

    D.i=k/m,j=k%n


    正确答案:C
    解析:此题是求一维数组向二维数组转化的问题。最原始的方法就是把数组A的前n个元素放到数组B的第一行,数组A的第n个元素放到数组B的第二行中,依次类推,数组A的最后n个元素放到数组B的最后一行中。求且[幻在数组B中的位置,应先确定A[k]处在哪一行,显然应该是k/n行,然后再确定处在k/n行的哪一列,显然是k%n列。

  • 第3题:

    以下程序是一个函数,功能是求二阶矩阵(m行n列矩阵)的所有靠外侧的各元素值之和。(本程序中二阶矩阵用一维数组来表示。)

    例如,矩阵为:

    3 0 0 3

    2 5 7 3

    1 0 4 2

    则所有靠外侧的各元素值之和为3+0+0+3+2+3+1+0+4+2=18。

    add(int m,int n,int arr[])

    { int i,j,sum=0;

    for(i=0;i

    for(j=0;j<N;J++)

    sum=sum+ (7) ;

    for(j=0;j

    for(i=1; (8) ;i++)

    sum=sum+arr[i*n+j];

    return(sum);

    }


    正确答案:
    3.(7) arr[i*n+j](或者arr[i*10+j])

     (8) i<M-1(或者I<=M-2)

  • 第4题:

    已知有一维数组A[0.m×n-1],若要对应为m行n列的矩阵,则下面的对应关系(),可将元素A[k](O≤<k≤<m×n)表示成矩阵的第i行、第j列的元素(0≤i≤m,0匀≤n)。

    A. i=k/n,j=k%m
    B.i=k/m,j=k%m
    C.i=k/n,j=k%n
    D.i=k/m,j=k%n

    答案:C
    解析:
    矩阵每一行有n个元素,则第i+l行、第j+l到的元素~在A中是第n×i+j+l个元素,对应的下标k=nXi+j(因为下标从0开始)。反过来:i=k/n,j=k%n。

  • 第5题:

    有向图G用邻接矩阵A[n][n]存储,其第i行的所有元素之和等于顶点i的()。


    正确答案:出度

  • 第6题:

    若一个n阶矩阵A中的元素满足:Aij=Aji(0<=I,j<=n-1)则称A为()矩阵;若主对角线上方(或下方)的所有元素均为零时,称该矩阵为()。


    正确答案:上;三角矩阵

  • 第7题:

    已知一个有向图的邻接矩阵表示,要删除所有从第i个结点发出的边,应()。

    • A、将邻接矩阵的第i行删除
    • B、将邻接矩阵的第i行元素全部置为0
    • C、将邻接矩阵的第i列删除
    • D、将邻接矩阵的第i列元素全部置为0

    正确答案:B

  • 第8题:

    有向图G用邻接表矩阵存储,其第i行的所有元素之和等于顶点i的()。


    正确答案:出度

  • 第9题:

    单选题
    带权有向图G用邻接矩阵A存储,则顶点i的入度为A中:()。
    A

    第i行非的元素之和

    B

    第i列非的元素之和

    C

    第i行非且非0的元素个数

    D

    第i列非且非0的元素个数


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

  • 第10题:

    单选题
    已知一个有向图的邻接矩阵表示,要删除所有从第i个结点发出的边,应()。
    A

    将邻接矩阵的第i行删除

    B

    将邻接矩阵的第i行元素全部置为0

    C

    将邻接矩阵的第i列删除

    D

    将邻接矩阵的第i列元素全部置为0


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

  • 第11题:

    填空题
    有向图G用邻接矩阵A[n][n]存储,其第i行的所有元素之和等于顶点i的()。

    正确答案: 出度
    解析: 暂无解析

  • 第12题:

    填空题
    若一个n阶矩阵A中的元素满足:Aij=Aji(0<=I,j<=n-1)则称A为()矩阵;若主对角线上方(或下方)的所有元素均为零时,称该矩阵为()。

    正确答案: 上,三角矩阵
    解析: 暂无解析

  • 第13题:

    ●设下三角矩阵(上三角部分的元素值都为 0)A[0..n,0..n]如下所示,将该三角矩阵的所有非零元素(即行下标不小于列下标的元素)按行优先压缩存储在容量足够大的数组M[ ]中(下标从1 开始),则元素 A[I,j](O≤i≤n,j≤i)存储在数组M 的 (57) 中。


    正确答案:A
    试题(57)分析本题考查数组存储的基础知识。按行方式存储时,元素A[i,j]之前的元素个数为(1+2+…+i+j),由于数组M的下标从1开始,因此,存储A[i,j]的是M[1+2+…+i+j+1],即M[i(i+1)/2+j+1]。参考答案(57)A

  • 第14题:

    带权有向图G用邻接矩阵A存储,则顶点i的入度等于A中(41)。

    A.第i行非∞且非0的元素个数

    B.第i列非∞且非0的元素个数

    C.第i列非∞的元素之和

    D.第i行非∞的元素之和


    正确答案:B
    解析:本题考查带权有向图的邻接矩阵存储。带权有向图的邻接矩阵反映顶点间的邻接关系,设G=(V,E)是具有n(n1)个顶点的图,G的邻接矩阵M是一个n行n列的矩阵,并有若(i,j)或i,j>∈E,则M[i][j]=权值;否则,M[i][j]=0。因此,对于有向图,其邻接矩阵的第i行非0元素个数为顶点i的出度,而邻接矩阵的第i列非0元素个数为顶点j的入度。

  • 第15题:

    试题二(共15分)

    阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。

    【说明】

    如果矩阵A中的元素A[i,j]满足条件:A[i,j]是第i行中值最小的元素,且又是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。

    一个矩阵可能存在多个马鞍点,也可能不存在马鞍点。下面的函数求解并输出一个矩阵中的所有马鞍点,最后返回该矩阵中马鞍点的个数。

    【C函数】

    Int findSaddle(int a[][N],int M),

    { /*a表示M行N列矩阵,N是宏定义符号常量量*/

    int row,column,i,k;

    int minElem;

    int count=0;/*count用于记录矩阵中马鞍点的个数*/

    for( row = 0;row< (1) ;row++) {

    /*minElem用于表示第row行的最小元素值,其初值设为该行第0列的元素值*/

    (2) ;

    for( column = 1;column< (3) ;column++)

    if( minElem> a[row][column]) {

    minElem = a[row][column];

    }

    for(k=0;k<N;k++)

    if(a[row][k]==minElem){

    /术对第row行的每个最小元素,判断其是否为所在列的最大元素*/

    for(i=0;i <M;i++)

    if( (4) >minElem) break;

    if(i>=(5) ){

    printf("(%d,%d):%d\n",row,k,minElem);/*输出马鞍点*/

    count++;

    }/*if*/

    }/*if*/

    }/*for*/

    return count,

    }/*findSaddle*/


    正确答案:

    (1)M
    (2)  minElem= a[row][0]或其等价形式
    (3)N
    (4)a[i][k]或其等价形式
    (5)M

     

  • 第16题:

    设用邻接矩阵A表示有向图G的存储结构,则有向图G中顶点i的入度为()。

    A.第i列0元素的个数之和
    B.第i列非0元素的个数之和
    C.第i行0元素的个数之和
    D.第i行非0元素的个数之和

    答案:B
    解析:
    考察图的邻接矩阵的特点,在有向图的邻接矩阵中,第i列非0元素的个数之和即为第i个节点的入度。

  • 第17题:

    设用邻接矩阵A表示有向图G的存储结构,则有向图G中顶点i的入度为()

    • A、第i行非0元素的个数之和
    • B、第i列非0元素的个数之和
    • C、第i行0元素的个数之和
    • D、第i列0元素的个数之和

    正确答案:B

  • 第18题:

    带权有向图G用邻接矩阵A存储,则顶点i的入度为A中:()。

    • A、第i行非的元素之和
    • B、第i列非的元素之和
    • C、第i行非且非0的元素个数
    • D、第i列非且非0的元素个数

    正确答案:D

  • 第19题:

    有向图G用邻接矩阵A{1。。。。。n,1。。。。。n}存储,其第一列的所有元素之和等于顶点1的()。


    正确答案:入度

  • 第20题:

    给定一个m×n的数值矩阵A,如果矩阵A中存在这样的一个元素A[i][j]满足条件:A[i][j]是第i行中值最小的元素,且又是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。编写一个方法计算出m*n的矩阵A的所有马鞍点。


    正确答案: inti,j,k,m=4,n=5,max,min;
    int[,]array=newint[,]{{30,20,25,40,45},{80,19,70,90,11},{24,14,42,91,96},{32,17,82,72,38}};
    Console.Write("/n{0}行{1}列的数值矩阵为:");
    for(i=0;i{
    Console.WriteLine();
    for(j=0;j{
    Console.Write("{0}",array[i,j]);
    }
    }
    for(i=0;ifor(j=0;j{
    max=array[i,j];
    min=array[i,j];
    for(k=0;kfor(k=0;kmax)max=array[k,j];
    if(array[i,j]==max&&array[i,j]==min)
    {
    Console.WriteLine("/n马鞍点是第{0}行,第{1}列的{2}",i,j,array[i,j]);
    }
    }

  • 第21题:

    单选题
    设用邻接矩阵A表示有向图G的存储结构,则有向图G中顶点i的入度为()
    A

    第i行非0元素的个数之和

    B

    第i列非0元素的个数之和

    C

    第i行0元素的个数之和

    D

    第i列0元素的个数之和


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

  • 第22题:

    填空题
    有向图G用邻接表矩阵存储,其第i行的所有元素之和等于顶点i的()。

    正确答案: 出度
    解析: 暂无解析

  • 第23题:

    问答题
    给定一个m×n的数值矩阵A,如果矩阵A中存在这样的一个元素A[i][j]满足条件:A[i][j]是第i行中值最小的元素,且又是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。编写一个方法计算出m*n的矩阵A的所有马鞍点。

    正确答案: inti,j,k,m=4,n=5,max,min;
    int[,]array=newint[,]{{30,20,25,40,45},{80,19,70,90,11},{24,14,42,91,96},{32,17,82,72,38}};
    Console.Write("/n{0}行{1}列的数值矩阵为:");
    for(i=0;i{
    Console.WriteLine();
    for(j=0;j{
    Console.Write("{0}",array[i,j]);
    }
    }
    for(i=0;ifor(j=0;j{
    max=array[i,j];
    min=array[i,j];
    for(k=0;kfor(k=0;kmax)max=array[k,j];
    if(array[i,j]==max&&array[i,j]==min)
    {
    Console.WriteLine("/n马鞍点是第{0}行,第{1}列的{2}",i,j,array[i,j]);
    }
    }
    解析: 暂无解析