问题 填空题

阅读以下说明和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]=0
cpot[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*/

答案

参考答案:M.rows

单项选择题

甲股份有限公司(以下简称甲公司)2010年度发生如下经济业务:

(1)甲公司以其生产的一批应税消费品换入丙公司的一台设备,产品的账面余额为420000元,已提存货跌价准备10000元,计税价格等于不含增值税的市场价格500000元,增值税税率为17%,消费税税率为10%。交换过程中甲公司支付给丙公司银行存款11700元。设备的原价为800000元,已提折旧220000元,已提减值准备20000元,设备的公允价值为510000元。该交换具有商业实质。

(2)甲公司以其生产的一批应税消费品换入乙公司的一台设备,产品的账面余额为520000元,已提存货跌价准备20000元,计税价格等于不含增值税的市场价格600000元,增值税税率为17%,消费税税率为10%。交换过程中甲公司以现金支付给乙公司20000元作为补价,同时为换入资产支付相关费用3000元。设备的原价为900000元,已提折旧200000元,未计提减值准备,设备的公允价值为650000元。假设该交换不具有商业实质。

(3)甲公司以一台设备换入丁公司的专利权,设备的原价为600000元,已提折旧220000元,已提减值准备40000元,设备的公允价值为400000元。专利权的账面原价为500000元,累计摊销为150000元,公允价值为380000元。甲公司收到丁公司支付的现金20000元作为补价。该交换具有商业实质。

(4)甲公司以其持有的可供出售金融资产—A股票,交换乙公司的原材料,换入后作为原材料核算。在交换日,甲公司的可供出售金融资产—A股票账面余额为320000元(其中成本为240000元,公允价值变动为80000元),公允价值为360000元。换入的原材料账面价值为280000元,不含增值税的公允价值为300000元,公允价值等于计税价格。增值税税额为51000元,甲公司收到乙公司支付的银行存款9000元。该交换具有商业实质。

假定不考虑除增值税、消费税以外的其他相关税费。

要求:

根据上述资料,回答下列问题。

对于资料(3),甲公司处置非流动资产取得的收益为()

A.90000元

B.0

C.20000元

D.60000元

单项选择题