首页 > 计算机等级考试
题目内容 (请给出正确答案)
[主观题]

—个二维数组可以存放—个矩阵。在程序开始有语句Option Base0,则下面定义的数组中正好可以存放—个4

×3矩阵(即只有12个元素)的是______。

A.Dim a(-2 To 0,2)As Integer

B.Dima(3,2)As Integer

C.Dim a(4,3)As Integer

D.Dim a(-1 To -4,-1 To -3)As Integer

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“—个二维数组可以存放—个矩阵。在程序开始有语句Option …”相关的问题
第1题
下列程序定义了NXN的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N]),该函数的功能是

下列程序定义了NXN的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N]),该函数的功能是使数组右上半三角元素中的值全部置成0。例如a数组中的值为

a=4 5 6

1 7 9

3 2 6,

则返回主程序后a数组中的值应为

0 0 0

1 0 0

3 2 0

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

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

试题程序:

include<conio.h>

include<stdio.h>

include<stdlib.h>

define N 5

int fun(int a[ ][N])

{

}

main()

{

int a[N][N],i,j;

clrscr();

printf("*****The array*****\n");

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

/*产生—个随机的5*5矩阵*/

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

{a[i][j]=rand()%10;

printf (“%4d”,a[i][j]);

}

printf(“\n”);

}

fun(a);

printf(“THE RESULT\n”);

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

{ for(j=0;i<N;j++)

printf(“%4d”,a[i][j]);

printf(“\n”);

}

}

点击查看答案
第2题
●设有二维数组a[1..m,1..n](2<m<n),其第一个元素为a[1,1],最后一个元素为a[m,n],若数组元

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

点击查看答案
第3题
阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。【说明】 在一个矩阵中,如果其零元素的个

阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。

【说明】

在一个矩阵中,如果其零元素的个数远远多于其非零元素的个数时,称这样的矩阵为稀疏矩阵。稀疏矩阵通常采用三元组数组表示。每个非零元素用一个三元组来表示,即非零元素的行号、列号和它的值。然后按某种顺序将全部非零元素的三元组存于一个数组中。例如,对于以下二维数组:

int x[3][4]={{1,0,0,0},{0,5,0,0),{0,0,7,2}};

可用以下数组a来表示:

int a[][3]={{3,4,4},{0,0,1},{1,1,5),{2,2,7},{2,3,2}};

其中三元数组a的第1行元素的值分别存储稀疏矩阵×的行数、列数和非零元素的个数。

下面的流程图描述了稀疏矩阵转换的过程。

【流程图】

点击查看答案
第4题
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。【程序说明】 对角线下元素全为0

阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。

【程序说明】

对角线下元素全为0的矩阵称为上三角矩阵,设对于一个n×n的上三角矩阵a,为节约存贮,只将它的上三角元素按行主序连续存放在数组b中。下面的函数trans在不引入工作数组的情况下,实现将a改为按列主序连续存放在数组b中。

设n=5,

b=(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)

经调用trans函数后,b变为

b=(1,2,6,3,7,10,4,8,11,13,5,9,12,14,15)

函数tans对数组元素的存贮位置作调整。调整过程中存在若干个循环传送链:

b(i1)→b(i2)→b(ij)→b(i1)1≤j<n

例如,考察调整后的数组元素b(2)(值为6),与该元素相关的位置调整将形成下面的循环传送链:

b(2)→b(3)→b(6)→……→b(12)→b(9)→b(5)→b(2)

关键是确定循环传送链的下标i1,i2,…,ij,以及在考察调整后的元素b(k)(k;3,4,…)时能判定b(k)是已被传送过的某传送链上的元素。

函数ctr(k,n)计算调整后的数组b的第k个元素b(k)在原数组b中的位置,该位置作为函数ctr(k,n)的返回值。函数ctr根据k确定它在矩阵中的行号i和列号j(注意行号和列号均从 0算起),然后按矩阵存放原则计算出它在b中的位置。

【程序】

trans(b,n)

int n,b[]

{

int m,k,r,cc,rr;

int w;

m=(n+1)*n/2-4;

k=2;

while(m>0)

{

r=ctr(k,n);

if(r==k)

m--;

else

{

cc=k;rr=r;

while (1)

{

cc=rr,rr=ctr(cc,n);

}

if (2)

{

cc=k;rr=r;w=b[k];

while (3)

{

b[cc]=b[rr];m--;

cc=rr,rr=ctf(cc,n);

}

b[cc]-w; (4);

}

}

k++;

}

}

ctr(k,n )

int k,n

{

int i,j;

i=k;j=0;

while (5)

i - =++j ;

return(i*n+j-i*(i+1)/2);

}

点击查看答案
第5题
在C语言中,二维数组元素在内存中的存放顺序可以随意调整变化。()
点击查看答案
第6题
下列给定程序中,函数proc()的功能是:根据形参m(2≤m≤9)的值,在m行m列的二维数组中存放如下所示的

下列给定程序中,函数proc()的功能是:根据形参m(2≤m≤9)的值,在m行m列的二维数组中存放如下所示的数据,由main()函数输出。

请修改程序中的错误,使它能得出正确的结果。

注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。

试题程序:

点击查看答案
第7题
定义了二维数组A(1 to 6,6),则该数组的元素个数为()。

A.24个

B.36个

C.42个

D.48个

点击查看答案
第8题
定义了二维数组A(I t0 6,6),则该数组的元素个数为()。

A.24个

B.36个

C.42个

D.48个

点击查看答案
第9题
二维数组A[0..6,0..9],其每个元素占2个字节,从首地址200开始,按行优先顺序存放,则元素A[7,5]的存储地址为 ______。

A.350

B.570

C.275

D.482

点击查看答案
第10题
二维数组A[0..6,0..9],其每个元素占2个字节,从首地址200开始,按行优先顺序存放,则元素A[7,5]的存储地址为________。

A.350

B.570

C.275

D.482

点击查看答案
退出 登录/注册
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改