编一个程序,定义一个n行n列的二维整数数组,赋初值,然后求出对角线上的元素之和。

题目

编一个程序,定义一个n行n列的二维整数数组,赋初值,然后求出对角线上的元素之和。


相似考题
更多“编一个程序,定义一个n行n列的二维整数数组,赋初值,然后求出对角线上的元素之和。”相关问题
  • 第1题:

    将一个n阶三对角矩阵A的三条对角线上的元素按行压缩存放于一个一维数组B中, A[0][0]存放于B[0]中。对于任意给定数组元素A[i][j],它应是数组A中第______行的元素。


    正确答案:2i+j-3
    2i+j-3 解析:在三对角矩阵中,按行压缩存储,其转换公式为k=2i+j-3。

  • 第2题:

    请编一个函数void proc(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每行中最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。

    注意:部分源程序给出如下。

    请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。

    试题程序:


    正确答案:


    【解析】按照题目中要求,求出二维数组每行中最大元素,并依次放入pp所指的一维数组中。首先比较二维数组中每一行的元素,然后找出每一行中的最大元素,放入一维数组pp中,最后返回到主函数当中。

  • 第3题:

    设有一个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个元素。

  • 第4题:

    假定二维数组的定义为“double a[M][N];”,则每个数组元素的列下标取值范围在0~N之间。()

    A

    B



  • 第5题:

    完善程序给一个2行3列数组各元素赋初值。 inta()={1,2,2,3,3,4,};


    正确答案:[2][3]

  • 第6题:

    编一个程序,输入一个正整数n,把它转换为二进制数,并输出。提示:应该利用数组。


    正确答案: int[]a=newint[80];
    inti,j,n=0;
    while(n<=0)
    {
    Console.WriteLine("请输入一个正整数:");
    n=int.Parse(Console.ReadLine());
    }
    i=0;
    Console.Write("/n正整数{0}转换为二进制数:",n);
    while(n>0)
    {
    a[++i]=n%2;
    n=n/2;
    }
    for(j=i;j>0;j--)Console.Write(a[j]);
    Console.WriteLine();

  • 第7题:

    编一个程序,定义一个n行n列的二维数组,例如,n=4,输入该数组的全部数据。可以在定义数组时赋于常量值。求二维数组中这样元素的位置:它在行上是最小,在列上也是最小。


    正确答案: intn=4;
    int[,]a={{25,12,22,14},{15,16,17,18},{19,20,21,13},{23,24,11,26}};
    inti,j,k,temp,min;
    Console.Write("/n二维数组:");
    for(i=0;i{
    Console.Write("/n/t");
    for(j=0;j}
    Console.WriteLine("/n/n行列最小值");
    for(i=0;ifor(j=0;j{
    temp=a[i,j];
    min=temp;
    /*
    for(k=0;k{
    if(a[i,k]if(a[k,j]}
    */
    for(k=0;kif(a[i,k]for(k=0;kif(a[k,j]if(temp==min)Console.WriteLine("i={0},j={1}{2}",i,j,temp);
    }

  • 第8题:

    对数组元素赋初始化可以采用的方式包含()

    • A、在定义数组时对数组元素赋以初值
    • B、可以只给一部分元素赋值
    • C、如果想一个数组里的全部元素值为0;可以写成inta[10]={0};
    • D、在数组赋初值时可以不指定长度,长度默认就是后面元素的个数

    正确答案:A,B,C,D

  • 第9题:

    问答题
    编一个程序,输入一个正整数n,把它转换为二进制数,并输出。提示:应该利用数组。

    正确答案: int[]a=newint[80];
    inti,j,n=0;
    while(n<=0)
    {
    Console.WriteLine("请输入一个正整数:");
    n=int.Parse(Console.ReadLine());
    }
    i=0;
    Console.Write("/n正整数{0}转换为二进制数:",n);
    while(n>0)
    {
    a[++i]=n%2;
    n=n/2;
    }
    for(j=i;j>0;j--)Console.Write(a[j]);
    Console.WriteLine();
    解析: 暂无解析

  • 第10题:

    判断题
    假定二维数组的定义为“double a[M][N];”,则每个数组元素的列下标取值范围在0~N之间。()
    A

    B


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

  • 第11题:

    问答题
    编一个程序,定义一个n行n列的二维数组,例如,n=4,输入该数组的全部数据。可以在定义数组时赋于常量值。求二维数组中这样元素的位置:它在行上是最小,在列上也是最小。

    正确答案: intn=4;
    int[,]a={{25,12,22,14},{15,16,17,18},{19,20,21,13},{23,24,11,26}};
    inti,j,k,temp,min;
    Console.Write("/n二维数组:");
    for(i=0;i{
    Console.Write("/n/t");
    for(j=0;j}
    Console.WriteLine("/n/n行列最小值");
    for(i=0;ifor(j=0;j{
    temp=a[i,j];
    min=temp;
    /*
    for(k=0;k{
    if(a[i,k]if(a[k,j]}
    */
    for(k=0;kif(a[i,k]for(k=0;kif(a[k,j]if(temp==min)Console.WriteLine("i={0},j={1}{2}",i,j,temp);
    }
    解析: 暂无解析

  • 第12题:

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

    矩阵两条对角线元素之和

    B

    矩阵所有不靠边元素之和

    C

    矩阵所有元素之和

    D

    矩阵所有靠边元素之和


    正确答案: A
    解析:
    程序执行过程为:第一个for循环实现对第一列和第N列求和。第二个for循环在上一个for循环结果上实现对第一行和第M行从第二个元素到第N-1个元素的求和,总体来说,就是矩阵所有靠边元素之和,答案选择D选项。

  • 第13题:

    补充程序Ccon061.C,使其从键盘输入一个4行4列的二维整型数组表示4×4阶矩阵,并计算第1列元素之和。如输出:28


    Inti,/**/j/**/;
    Sum=/**/0/**/;
    /**/sum+=a[i][0];/**/

  • 第14题:

    设有一个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

  • 第15题:

    编写一个函数fun(),首先从键盘上输入一个4行4列的一个实数矩阵到一个二维数组a[4][4]中,接着求出主对角线上元素之和,最后返回求和结果。

  • 第16题:

    假定二维数组的定义为"double a[M][N];"则数组元素的行下标取值范围在()之间。
    0~M-1

  • 第17题:

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

  • 第18题:

    要定义一个int型的参差数组a,数组有两行,第一行一个元素,第二行两个元素并赋初值3和4, 使用的语句如下,请填空。  int[][] a=()     a[0]=()    a[1]=()


    正确答案:new int[2][];new int[1];new int[2]{3,4}

  • 第19题:

    对一个已定义好的数组a[10]赋初值,元素大小为其下标。 for(i=0;i<=9;i++)();


    正确答案:a[I]=I;

  • 第20题:

    填空题
    假定二维数组的定义为"double a[M][N];"则数组元素的行下标取值范围在()之间。

    正确答案: 0~M-1
    解析: 暂无解析

  • 第21题:

    问答题
    编一个程序,定义一个n行n列的二维整数数组,赋初值,然后求出对角线上的元素之和。

    正确答案: int n=5;
    int s=0;
    int[,]arr={{1,2,3,4,5},{11,12,13,14,15},{21,22,23,24,25},{31,32,33,34,35},{41,42,43,44,45}};
    inti,j;
    for(i=0;i {
    for(j=0;j {
    if(i==j,,i+j==n+1)
    s=s+arr[i,j];
    }
    }
    Console.WriteLine("对角线上的元素之和{0}",s);
    解析: 暂无解析

  • 第22题:

    填空题
    要定义一个int型的参差数组a,数组有两行,第一行一个元素,第二行两个元素并赋初值3和4,使用的语句如下,请填空。int[][]a=();a[0]=();a[1]=();

    正确答案: newint[2][],newint[1],newint[2]{3,4}
    解析: 暂无解析

  • 第23题:

    单选题
    以下叙述中错误的是(  )。
    A

    同一个数组中所有元素的类型相同

    B

    不可以跳过前面的数组元素给后面的元素赋初值0

    C

    定义语句int a[10]={0};给a数组中所有元素赋初值0

    D

    若有定义语句int a[4]={1,2,3,4,5};,编译时将忽略多余的初值


    正确答案: B
    解析:
    一维数组初始化时,不可能跳过前面的元素给后面的元素赋初值,当所赋初值少于所定义数组的元素个数时,将自动给后面的元素补以初值0,当所赋初值多于所定义数组的元素个数时,在编译时将给出出错信息。答案选择D选项。