工学

单选题数组A[1‥40,1‥30]采用三元组表示,设数组元素与下标均为整型,则在非零元素个数小于()时,才能节省存储空间。A 1200B 401C 399D 400

题目
单选题
数组A[1‥40,1‥30]采用三元组表示,设数组元素与下标均为整型,则在非零元素个数小于()时,才能节省存储空间。
A

1200

B

401

C

399

D

400

参考答案和解析
正确答案: B
解析: 暂无解析
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

假如用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有19个元素。()

此题为判断题(对,错)。


参考答案:错误

第2题:

本题中定义了长度为20的-维整型数组a,并将数组元素的下标值赋给数组元素,最后打印输出数组中下标为奇数的元素。 public class javal{ public static void main(String[]args){ int a[]= Int i: for a[i]=i for i++) =1: i=0;i<20;i++){ System.out.print(”a[”+i+”]=”+a[i]+”,“); }


正确答案:
第1处:new int020]
第2处:i=0;i<20
第3处:i%2 !=0
【解析】第1处定义了长度为20的-维整型数组a;第2处的for循环将数组元素的下标值赋给数组元素;第3处判断数组各个元素下标是否为奇数。

第3题:

(1)假设一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有 【1】 个元素。


正确答案:

119

第4题:

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

【说明】

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

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

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

【流程图】


答案:


解析:


本题考查程序流程图及数组的操作



结合流程图中三个判断语句的结构和作用来分析第(5)空应该是i++它的作用是保证能取到稀疏矩阵中每一行的元素

第5题:

假设用-个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有的元素个数为( )。

A.50

B.19

C.1

D.20


正确答案:B
当前栈中的所有元素的个数就是用栈底指针减去栈顶指针。

第6题:

下列关于数组下标的描述中,错误的是()。

A.C++语言中数组元素的下标是从0开始的

B.数组元素下标是一个整常型表达式

C.数组元素可以用下标来表示

D.数组元素的某维下标值应小于该维的大小值


正确答案:B

第7题:

假设用一个长度为50的数组(数组元素的下标为0~49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有( )个元素。


正确答案:20
20

第8题:

●在数组A中,每一个数组元素A[i,j]占用3个存储字,行下标i从1到8,列下标j从1到10。所有数组元素相继存放于一个连续的存储空间中,则存放该数组至少需要的存储字数是 (36) 。

(36) A.80

B.240

C.100

D.270


正确答案:B
【解析】8×10×3=240。

第9题:

阅读以下说明和流程图,将应填入(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行元素的值分别存储稀疏矩阵×的行数、列数和非零元素的个数。

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

【流程图】


正确答案:(1)a[0][2]=W; (2)x[i][j]≠0; (3)a[k][2]=x[i][j]; (4)k++; (5)i++;
(1)a[0][2]=W; (2)x[i][j]≠0; (3)a[k][2]=x[i][j]; (4)k++; (5)i++; 解析:本题考查程序流程图及数组的操作。
根据题目的意思,本题的流程图是用来描述稀疏矩阵转换过程的。而三元数组d的第1行元素的值分别用来存储稀疏矩阵x的行数、列数和非零元素个数,在第(1)空位置处,前面已经分别存储了稀疏矩阵x的行数和列数,只差非零元素的个数没有存储进数组a。因此,此空应该填a[0][2]=W。
在第(2)空的前面有两条判断语句,我们可以看出它们是为了保证取到的元素是稀疏矩阵中的元素,再往下我们应该判断此元素是否是0,因此,此空应该填x[i][j]≠0。
根据程序流程图,如果第(2)空中的条件为真,即取到的元素不为0,那么我们应该将该元素存放到三元数组a中,第(3)空的前面两条语句已经分别用于存储了稀疏矩阵非0元素的行号和列号,那么接下来应该是保存其值。因此,此空的答案是 a[k][2]=x[i][j]。
由题目中对三元数组a的描述可以知道,三元数组a的每一行只存储3个元素。再看流程图,第(4)空的前面三条语句都表示向三元数组a中存储一个元素。因此,如果再要往数组中添加元素,就需要存放到另外一行。因此,第(4)空应该是将数组的行号加1,即 k++。
结合流程图中三个判断语句的结构和作用来分析,第(5)空应该是i++,它的作用是保证能取到稀疏矩阵中每一行的元素。

第10题:

设有如下所示的下三角矩阵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]。

更多相关问题