题目详情
当前位置:首页 > 职业培训考试
题目详情:
发布时间:2023-10-27 00:21:48

[简答题]编写程序,实现矩阵(3行3列)的转置(即行列互换)。
例如,若输入下面的矩阵:
100 200 300
400 500 600
700 800 900
则程序输出:
100 400 700
200 500 800
300 600 900
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <stdio.h>
#include <conio.h>
int fun (int array[3][3])


main( )

int i,j;
int array [3][3]=100,200,300,400,
500,600,700,800,900;
clrscr( );
for (i-0;i<3;i++)
for (j=0;j<3;j++)
printf("%7d ",array[i] [j]);
printf("/n ");

fun(array);
printf("Converted array:/n ");
for (i=0;i<3;i++)
for (j=0;j<3;j++)
printf("%7d ",array[i][j]);
printf("/n ");


更多"编写程序,实现矩阵(3行3列)的转置(即行列互换)。 例如,若输入下"的相关试题:

[简答题]【说明】 实现矩阵(3行3列)的转置(即行列互换)。 例如,输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出: 100 400 700 200 500 800 300 600 900 【函数】 int fun(int array[3][3]) { int i,j,t; for(i=0; (1) ;i++) for(j=0; (2) ;j++) { t=array[i][j]; (3) ; (4) ; } } } main( ) { int i,j; int array[3][3]={{100,200,300},{400,500,600},{700,800,900}}; clrscr( ); for (i=0;i<3;i++) { for(j=0;j<3;j++) printf("%7d",array[i][j]); printf("/n"); } fun( (5) ); printf("Converted array:/n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%7d",array[i][j]); printf("/n"); } }
[简答题]请编制程序,其功能是:求I×J矩阵的转置矩阵(矩阵中元素为字节型),并计算转置矩阵的每一行元素之和,然后存放在每一行最后一个字单元中。
例如:
内存中有:04H,05H,06H,(第一行)01H,02H,03H(第二行)
结果为: 04H,01H,05H,00H,05H,02H,07H,00H,06H,03H,09H,00H
部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从 RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
请填空BEGIN和END之间已经给出的一段源程序使其完整,需填空处已经用横线标出,每个空白一般只需要填一条指令或指令的一部分(指令助记符或操作数),也可以填入功能相当的多条指令,或删去BEGIN和END之间原有的代码并自行编程来完成所要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。
[试题程序]
EXTRN LOAD:FAR,SAVE:FAR
N EQU 30
I EQU 3
J EQU 10
DSEG SEGMENT
SOURCE DB N DUP( )
SRC DW SOURCE
RESULT DB (N+2*J)DUP(0)
NAME0 DB ’INPUT1.DAT’,0
NAME1 DB ’OUTPUT1.DAT’,0
DSEG ENDS
SSEG SEGMENT STACK
DB 256 DUP( )
SSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,SS:SSEG,DS:DSEG
START PROC FAR
PUSH DS
XOR
[填空题]
下面的程序实现矩阵的转置(即行列互换)。阅读程序并填空。
Option Base 1
Private Sub Form_Click( )
m=Input Box(“输入行数”):n=InputBox(“输入列数”)
[11] a(m,n)AS Integer,b(n,m)AS Integer
ForI=1 to m
Forj=1 to n
a(I,j)=Int(Rnd*90)+10
Next:Next
ForI=1 to m
Forj=1 to n
b(j,1)= [12]
Next:Next
End Sub


[填空题]基于三元组的稀疏矩阵转置的处理方法有两种,以下运算按照矩阵A的三元组a.data的次序进行转置(快速转置),请在______处用适当的语句予以填充。 Fast_Trans_Sparmat(SpMatrixTp a,SpMatrixTp*b) { (*b).mu=a.nu;(*b).nu=a.mu;(*b).tu=a.tu; if(a.tu) { for(col)=1;______col++)unm[col]=0 for(t=1;t<=a.tu;t++)num[a.data[t].j]++; cpot[1]=1; for(col=2;col<=a.nu;col++)cpot[col]=______; for(p=1;p<=a.tu;p++) { col=a.data[p].j; q=cpot[col]; (*b).data[q].i=a.data[p].j; (*b).data[q].j=a.data[p].i; (*b).data[q].v=a.data[p].v; ______; } } }
[简答题]设A为m阶实对称矩阵且正定,B为m×n阶实矩阵,BT为B的转置矩阵,试证BTAB为正定矩阵的充分必要条件是矩阵B的秩r(B)=n.
[填空题]基于三元组的稀疏矩阵转置的处理方法有两种,以下运算按照矩阵A的列序来进行转置,请在______处用适当的语句予以填充。 Trans_Sparmat(SpMatrixTp a,SpMatrixTp*b) { (*b).mum=a.nu;(*b).nu=a.mu;(*b).tu=a.tu if(a.tu) { q=1; for(col=1;______;col++) for(p=1;p<=a.tu;p++) if(______)==col) { (*b).data[q].i=a.data[p].j; (*b).data[q].j=a.data[p].i; (*b).data[q].v=a.data[p].v; ______; } } }
[多项选择]编写函数fun,其功能是:实现B=A+A’,即将矩阵A加上A的转置,存放在矩阵B中。计算结果在main函数中输出。
例如,输入下面的矩阵:
1 2 3
……
4 5 6
……
7 8 9
其转置矩阵为:
1 4 7
……
2 5 8
……
3 6 9
程序输出:
2 6 10
……
6 10 14
……
10 14 18
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void fun(int a[3][3],int b[3][3])


void main( )
(
int a[3][3]=1,2,3,4,5,6,7,8,9,t[3][3];
int i,j;
system("CLS");
fun(a,t);
for(i=0;i<3;i++)

for(j=0;j<3;j++)
print[("%7d",t[i][j]);
printf("/n");


[简答题]请编写函数fun( ),该函数的功能是:实现B=A+A’,即把矩阵A加上A的转置,存放在矩阵B中。计算结果在main( )函数中输出。
例如,输入下面矩阵:
1 2 3
4 5 6
7 8 9
其转置矩阵为:
1 4 7
2 5 8
3 6 9
则程序输出:
2 6 10
6 10 14
10 14 18
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <stdio.h>
#include<conio.h>
void fun (int a[3][3], int b[3][3])


main ( )

int a[3][3]=1,2,3, 4,5,6,7,8,9,t[3] [3];
int i, j;
clrscr ( );
fun (a,t);
for(i=0; i<3; i++)
for (j=0; j<3; j++)
printf ("%7d",t [i] [j] );
printf ("/n");


[简答题]从键盘上输入一个3*5的矩阵,将其转置后形成5*3的矩阵输出。
[简答题]设A为3阶矩阵,将A的第1列与第2列互换得到矩阵B,再将B的第2列加到第3列得到矩阵C,求满足关系式AQ=C的矩阵Q.
[填空题]下列给定程序中,函数proc( )的功能是:先从键盘上输入一个3行3列的矩阵的各个元素的值,然后输出主对角线元素之积。
请修改函数proc( )中的错误,使它能得出正确的结果。
注意:不要改动main( )函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdio.h>
void proc( )

int arr[3][3], mul;
int i, j;
mul=1;
printf("please input an 3*3 array: /n");
for(i=0; i<3; i++)

//************found************
for(i=0; j<3; j++)
scanf("%d", &arr[i][j]);

for(i=0; i<3; i++)
//************found************
mul=mul*arr[i][j];
printf("Mul=%d/n", mul);

void main( )

proc( );

[填空题]

下面程序的功能是:先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线之和。
#include<stdio.h>
main( )
{
int a[3][3],sum;
int i,j;
______;/*第一空*/
for(i=0;i<3;i++)
for(______)/*第二空*/
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
sum=______;/*第三空*/
printf("sum=%d/n",sum);
}


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

int a[3][3],mu1;
int i,j;
mu1=l;
for (i=0;i<3;i++)
 
/*************found*************/
for(i=0;i<3;j++)
scanf(“%d”,&a[i][j]);

for(i=0;i<3;i++)
/*************found*************/
mu1=mu1*a[i][j];
printf("Mu1=%d/n",mu1);

main( )

fun( );

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码