![](https://static.youtibao.com/asksite/comm/h5/images/m_q_title.png)
对m行n列的未经压缩(即以二维数组表示)的稀疏矩阵进行转置,时间复杂度是()。
A.O(m)
B.O(n)
C.O(m*n)
D.O(max(m,n))
![](https://static.youtibao.com/asksite/comm/h5/images/solist_ts.png)
A.O(m)
B.O(n)
C.O(m*n)
D.O(max(m,n))
SumColumMin()的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。
#include<stdio.h>
#define M 2
#define N 4
void SumColumMin(______)/*第一空*/
{int i,j,k,s=0;
for(i=0;i<N;i++)
{k=0;
for(j=1;j<M;j++)
if(______)k=j;/*第二空*/
s+=a[k][i];
}
______;/*第三空*/
}
main()
{int x[M][N]={3,2,5,1,4,1,8,3},s;
SumColumMin(x,&s);
printf("%d\n",s);
}
以下程序是输出二维数组的第二行到第4行,请填空。 void writearray(int(*p)[____________],int m,int n) {int i,j; for(i=m;i<=n;i++) {for(j=0;j<___________;j++) printf(“%d”,*(*(____________)+___________)); printf(“\n”); ) ) main() {int a[6][5],i,j; for(i=0;i<6;i++) for(j=0;j<5;j++) scanf(“%d”,a[i]+j); writearray(_________,2,4); )
以下是对二维数组的正确说明的是()
A.int [3][]
B.float a(3,4)
C.double a[1][4]
D.float a(3)(4)
印刷电路板将布线区域划分成n×m个方格阵列(见图6-3(a)).精确的电路布线问题要求确定连接方格a的中点到方格b的中点的最短布线方案.在布线时,电路只能沿直线或直角布线(见图6-3(b).为了避免线路相交,已布线了的方格做了封锁标记,其他线路不允许穿过被封锁的方格.
算法设计:对于给定的布线区域,计算最短布线方案.
数据输入:由文件input.txt给出输入数据.第1行有3个正整数n、m、k,分别表示布线区域方格阵列的行数、列数和封闭的方格数.接下来的k行中,每行2个正整数,表示被封闭的方格所在的行号和列号.最后的2行,每行也有2个正整数,分别表示开始布线的方格(p,q)和结束布线的方格(r,s).
结果输出:将计算的最短布线长度和最短布线方案输出到文件output.txt.文件的第1行是最短布线长度.从第2行起,每行2个正整数,表示布线经过的方格坐标.如果无法布线,则输出“NoSolution!”.
A.ai1Ai1+ai2Ai2+…+ainAin=0
B.ai1Ai1+ai2Ai2+…+ainAin=D
C.aijAij+a2jA2j+…+anjAnj=D
D.a11A21+a12A22+…+ainA2n=0
函数YangHui的功能是把杨辉i角形的数据赋给二维数组的下半三角,形式如下:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
其构成规律是:(1) 第0列元素和主对角线元素均为1(2) 其余元素为其左上方和正上方元素之和(3) 数据的个数每行递增1
#include<stdio.h>
#define N 5
void YangHui(int x[N][N])
{int i,j;
x[0][0]=1;
for(i=1;i<N;i++)
{x[i][0]=______=1;/*第一空*/
for(j=1;j<i;j++)
if(______)/*第二空*/
x[i][j]=______;/*第三空*/
}
}
设int(*P)();,P的含义是()
A.指向一维数组的指针变量
B.指向二维数组的指针变量
C.指向一个整型变量的指针变量
D.指向整型函数的指针变量