网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

以下程序是一个函数,功能是求二阶矩阵(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);

}


参考答案

更多 “ 以下程序是一个函数,功能是求二阶矩阵(m行n列矩阵)的所有靠外侧的各元素值之和。(本程序中二阶矩阵用一维数组来表示。)例如,矩阵为:3 0 0 32 5 7 31 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;ifor(j=0;jN;J++)sum=sum+ (7) ;for(j=0;jfor(i=1; (8) ;i++)sum=sum+arr[i*n+j];return(sum);} ” 相关考题
考题 在窗体上画2个命令按钮,名称分别为Command1、command2,并编写如下程序Const n=5,m=4Dim a(m,n)Private Sub Command1_Click()K=1For i=1 To mFor j=1 To na(i,j)=kk=k+1Next jNext iPrivate Sub Command2_Click()Summ=0For i=1 To mFor j=1 To nIf i=1 Or i=m ThenSumm=summ+a(i,j)ElseIf j=I Or j=n ThenSumm=summ+a(i,j)End IfEnd IfNext jNext iPrint summEnd Sub过程Command1_Click()的作用是二维数组a 中存放1个 m行n列的矩阵;过程Command2_Click()的作用是( )。A.计算矩阵外围一圈元素的累加和B.计算矩阵除外一圈以外的所有元素的累加和C.计算矩阵第1列和最后一列元素的累加和D.计算矩阵第1行和最后一行元素的累加和

考题 在窗体上画两个命令按钮,名称分别为Command1、Command2,并编写如下程序 Const n=5,m=4 Dim a(m,n) Private Sub Command1_Click() k=1 For i=1 To m Forj=1 To n a(i,j)=k k=k+1 Next j Next i End Sub Private Sub Command2_Click() summ=0 For i=1 Tom For j=1 To n If i=1 Or i=m Then summ=summ+a(i,j) Else If j=1 Or j=n Then summ=summ+a(i,j) End If End If Next j Next i Print summ End Sub 过程Command1 Click()的作用是在二锥数组a中存放—个m行n列的矩阵;过程Command2 Click()的作用是______。A.计算矩阵外围一圈元素的累加和B.计算矩外围一圈以外的所有元素的累加和C.计算矩阵第1列和最后—列元素的累加和D.计算矩阵第1行和最后—行元素的累加和

考题 以下程序用来建立一个10*10矩阵,该矩阵两条对角线上的元素为1,其余元素为0,请补充完该程序。该程序运行结果见下图。Private Sub Form_ click()Dim s(10, 10) As IntegerFor n = 1 To 10For m = 1 To 10If【 】Or【 】Thens (n, m) = 1Elses (n, m) = 0End IfNext mNext nFor n = 1 To 10For【 】。Picturel. Print Tab(m * 3); s(n, m)Next mPrintNext nEnd Sub

考题 阅读下列函数说明和C函数,回答问题1~2,将解答填入栏内。[说明]若矩阵Am×n中存在某个元素aij满足:aij…是第i行中最小值且是第j列中的最大值,则称该元素为矩阵A的一个鞍点。下面程序的功能是输出A中所有鞍点,其中参数A使用二维数组表示,m和n分别是矩阵A的行列数。[程序]void saddle (int A[ ] [ ], int m, int n){ int i,j,min;for (i=0;i <m;i + + ){ min: (1);for (j=1; j<n; j+ +)if(A[i][j]<min) (2);for (j=0; j<n; j+ +)if ((3)){ p=0;while (p<m(4))p+ +;if (p > = m)printf ("%d,%d,%d\n",i,j,min);}}}[问题1] 将函数代码中的(1)~(4)处补充完整[问题2]在上述代码的执行过程中,若A为矩阵,则调用saddle(A,3,3)后输出是(5)。

考题 阅读以下说明和C函数,将应填入(n)处的字句写在对应栏内。[说明]若一个矩阵中的非零元素数目很少且分布没有规律,则称之为稀疏矩阵。对m行n列的稀疏矩阵M,进行转置运算后得到n行m列的矩阵MT,如图3-1所示为了压缩稀疏矩阵的存储空间,用三元组(即元素所在的行号、列号和元素值、表示稀疏矩阵中的一个非零元素,再用一维数组逐行存储稀疏矩阵中的所有非零元素也称为三元组顺序表)。例如,图3-1所示的矩阵M相应的三元组顺序表如表3-1所示。其转置矩阵MT的三元组顺序表如表3-2所示。函数TransposeMatrix(Matrix M)的功能是对用三元组顺序表表示的稀疏矩阵M进行转置运算。对M实施转置运算时,为了将M中的每个非零元素直接存入其转置矩阵MT三元组顺序表的相应位置,需先计算M中每一列非零元素的数目(即MT中每一行非零元素的数目),并记录在向量num中;然后根据以下关系,计算出矩阵M中每列的第一个非零元素在转置矩阵MT三元组顺序表中的位置:cpot[0]=0cpot[j]=cpot[j-1]+num[j-1]) /*j为列号*/类型ElemType,Triple和Matrix定义如下:typedef int ElemType;typedef struct{ /*三元组类型*/int r,c; /*矩阵元素的行号、列号*/ElemType e; /*矩阵元素的值*/}Triple;typedef struct{ /*矩阵的元组三元组顺序表存储结构*/int rows,cols,elements; /*矩阵的行数、列数和非零元素数目*/Triple data[MAXSIZE];}Matrix;[C语言函数]int TransposeMatrix(Matrix M){int j,q,t;int *num, *cpot;Matrix MT; /*MT是M的转置矩阵*/num=(int*)malloc(M.cols*sizeof(int));cpot=(int*)malloc(M.cols*sizeof(int));if(!num ||cpot)return ERROR;MT.rows=(1); /*设置转置矩阵MT行数、列数和非零元素数目*/MT.cols=(2);MT.elements=M.elements;if(M.elements>0){for (q=0 ; q<M. cols ; q++)num[q]=0;for (t=0; t<M.elements;++t) /*计算矩阵M中每一列非零元素数目*/num [M.data[t].c]++;/*计算矩阵M中每列第一个非零元素在其转置矩阵三元组顺序表中的位置*/(3);for(j=1;j<M.cols;j++)cpot[j]=(4);/*以下代码完成转置矩阵MT三元组顺序表元素的设置*/for(t=0;t<M.elements;t++){j=(5); /*取矩阵M的一个非零元素的列号存入j*//*q为该非零元素在转置矩阵MT三元组顺序表中的位置(下标)*/q=cpot[j];MT.data[q].r=M.data[t].c;MT.data[q].c=M.data[t].r;MT.data[q].e=M.data[t].e;++cpot[j]; /*计算M中第j列的下一个非零元素的目的位置*/}/*for*/} /*if*/free(num); free(cpot);/*此处输出矩阵元素,代码省略*/return OK;}/*TransposeMatrix*/

考题 已知一个无向图的邻接矩阵表示,计算第i个顶点的度的方法是______。 A、计算邻接矩阵中第i行的元素之和B、计算邻接矩阵中第i列的元素之和C、计算邻接矩阵中第i行的非零元个数D、计算邻接矩阵中第i列的非零元个数

考题 海森矩阵是多元函数对自变量的二阶导数矩阵。() 此题为判断题(对,错)。

考题 给定程序MODll.C中fun函数的功能是:求出以下分数序列的前n项之和。和值通过函数值返回main函数。例如,若n=5,则应输出:8.391667。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

考题 给定程序中,函数fun的功能是:判定形参a所指的NxN(规定N为奇数)的矩阵是否是“幻方”,若是,函数返回值为1: 不是,函数返回值为O。“幻方”的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。例如,以下3×3的矩阵就是一个“幻方”:4 9 23 5 78 1 6请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKl.C中。不得增行或删行,也不得更改程序的结构!

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

考题 下列程序的功能是( )。 main() { static int s[3][3]={1,2,3,4,5,6,7,8,9,),m,n; for(m=0;m<3;m++) { for(n=0;n<=m;n++) printf("%d",s[m][n]);printf("\n'); } }A.输出3×3矩阵的下三角的元素B.输出3×3矩阵的上三角的元素C.输出3×3矩阵的对角线上的元素D.输出3×3矩阵的元素

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

考题 给定程序中,函数fun的功能是:将a所指3×5矩阵中第k列的元素左移到第0列,第k列以后的每列元素行依次左移,原来左边的各列依次绕到右边。例如,有下列矩阵:1 2 3 4 51 2 3 4 51 2 3 4 5若k为2,程序执行结果为3 4 5 1 23 4 5 1 23 4 5 1 2请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKl.C中。不得增行或删行,也不得更改程序的结构!

考题 下列给定程序中,函数proc()的功能是:先从键盘上输入一个3行3列的矩阵的各个元素的值,然后输出主对角线元素之积。 请修改函数proc()中的错误,使它能得出正确的结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序:

考题 给定程序MODll.C中函数fun的功能是:求出以下分数序列的前n项之和。和值通过函数值返回到main函数。例如,若n=5,则应输出:8.391667。请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

考题 给定程序中,函数fun的功能是建立一个NxN的矩阵。矩阵元素的构成规律是:最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,…依次类推。例如,若N=5,生成的矩阵为:1 1 1 1 11 2 2 2 11 2 3 2 1l 2 2 2 11 1 1 1 1请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKl.C中。不得增行或删行,也不得更改程序的结构!

考题 试题三(共15分)阅读以下说明和C 函数,将应填入(n) 处的字句写在答题纸的对应栏内。[说明]若一个矩阵中的非零元素数目很少且分布没有规律,则称之为稀疏矩阵。对于m行n 列的稀疏矩阵M,进行转置运算后得到n 行m列的矩阵MT,如图3-1 所示。函数TransposeMatrix(Matrix M)的功能是对用三元组顺序表表示的稀疏矩阵M 进行转置运算。对 M 实施转置运算时,为了将M 中的每个非零元素直接存入其转置矩阵MT 三元组顺序表的相应位置,需先计算M 中每一列非零元素的数目(即MT 中每一行非零元素的数目),并记录在向量num 中;然后根据以下关系,计算出矩阵M 中每列的第一个非零元素在转置矩阵MT 三元组顺序表中的位置:cpot[0] = 0cpot[j] = cpot[j-1] + num[j-1] /* j 为列号 */类型ElemType、Triple 和Matrix 定义如下:typedef int ElemType;typedef struct { /* 三元组类型 */int r,c; /* 矩阵元素的行号、列号*/ElemType e; /* 矩阵元素的值*/}Triple;typedef struct { /* 矩阵的三元组顺序表存储结构 */int rows,cols,elements; /* 矩阵的行数、列数和非零元素数目 */Triple data[MAXSIZE];}Matrix;[C函数]int TransposeMatrix(Matrix M){int j,q,t;int *num, *cpot;Matrix MT; /* MT 是M的转置矩阵 */num = (int *)malloc(M.cols*sizeof(int));cpot = (int *)malloc(M.cols*sizeof(int));if (!num || !cpot)return ERROR;MT.rows = (1) ; /* 设置转置矩阵MT行数、列数和非零元数目*/MT.cols = (2) ;MT.elements = M.elements;if (M.elements 0) {for(q = 0; q M.cols; q++)num[q] = 0;for(t = 0; t M.elements; ++t) /* 计算矩阵M 中每一列非零元素数目*/num[M.data[t].c]++;/* 计算矩阵M中每列第一个非零元素在其转置矩阵三元组顺序表中的位置*/(3) ;for(j = 1;j M.cols; j++)cpot[j] = (4) ;/* 以下代码完成转置矩阵MT三元组顺序表元素的设置 */for(t = 0; t M.elements;t++){j = (5) ; /* 取矩阵M 的一个非零元素的列号存入j *//* q 为该非零元素在转置矩阵MT 三元组顺序表中的位置(下标)*/q = cpot[j];MT.data[q].r = M.data[t].c;MT.data[q].c = M.data[t].r;MT.data[q].e = M.data[t].e;++cpot[j]; /* 计算M 中第j列的下一个非零元素的目的位置 */}/* for */}/* if */free(num); free(cpot);/*此处输出矩阵元素,代码省略*/return OK;}/* TransposeMatrix */

考题 试题二(共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;kN;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*/

考题 求与可交换的全体二阶矩阵.

考题 设A是一个m×n矩阵,证明:矩阵A的行空间维数等于它的列空间维数。

考题 在概率矩阵中,下列哪一项的各元素之和必等于1?()A、每个行向量B、每个列向量C、每个行向量和列向量D、全部矩阵元素

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

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

考题 问答题请根据以下各小题的要求设计C应用程序(包括界面和代码)。   请编写函数fun(),它的功能是:将3行4列矩阵x乘以4行3列矩阵y,结果放在3行3列矩阵xy中。矩阵相乘的基本方法是:矩阵xy中行列下标分别为i,j的元素的值,是矩阵x中第i行上4个元素与矩阵y第j列上4个元素对应相乘的和。   注意:部分源程序给出如下。   请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。   试题程序如下: #include #include voidfun(inta[3][4],intb[4][3],intab[3][3]) { } main() {  intx[3][4]={{1,0,1,1},{2,1,0,1},{1,2,0,3}};  inty[4][3]={{1,1,1},{0,0,0},{2,1,1},{1,1,3}};  intxy[3][3]={0},i,j;  fun(x,y,xy);  printf(a×b=ab:(3,3):);  for(i=0;i3;i++)  {   for(j=0;j3;j++)    printf(%d,xy[i][j]);   printf();  } }

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

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

考题 问答题给定程序中,函数fun的功能是:判定形参a所指的N×N(规定N为奇数)的矩阵是否是“幻方”,若是,则函数返回值为1;若不是,则函数返回值为0。“幻方”的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。  例如,以下3×3的矩阵就是一个“幻方”:  4 9 2  3 5 7  8 1 6  请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。  注意:部分源程序给出如下。  不得增行或删行,也不得更改程序的结构!  试题程序:#include #define N 3int fun(int (*a)[N]){ int i,j,m1,m2,row,colum; m1=m2=0; for(i=0; i