题目

一个n×n矩阵的主对角线(从左上到右下的对角线)上各个元素的总和称为这个矩阵的迹。一个矩阵转置后,新矩阵的迹和原矩阵的相等。 以3×3数据块为例,原矩阵和转置矩阵的结果如图所示。 小明发现对这个矩阵进行转置后,主对角线上的数字没有发生变化,所以决定编写VB程序随机生成一个n×n的矩降再试一下。程序实现的功能如下:在文本框Text1中输入整数n(2≤n≤10),单击“生成矩阵”按钮Command1,生成n2个10到99之间(包含10和99)的随机整数,并以n行、n列矩阵的形式显示在列表框List1中,将转置后的矩阵也显示在List1中。再单击“主对角线”按钮Command2,则在标签Label1中输出两矩阵主对角线上的元素,运行界面如图所示,程序代码如下,请在画线处填入合适的代码。 Const max=100 Dim n As Integer Dim a(1 To max)As Integer Dim b(1 To max)As Integer Private Sub Command1_Click( )   n=Val(Text1.Text)   For i=1 To n*n     a(i)=    ①      Next i   p=1   For i=1 To n*n     b(i)=a(p)     If i Mod n=0 Then       p=p-n*(n-1)+1     Else          ②       End If   Next i   List1.Clear   List1. AddItem Str(n)+"*"+Str(n)+"方阵”   Call Output(a( ))   List1.AddItem"转置矩阵"   Call Output(b( )) End Sub Private Sub Command2_Click( )   Label1.Caption="原矩阵":L.abel2.Caption="转置矩阵"   For i=1 To n     Label1.Caption=Label1.Caption & Str(a(i+(i-1)*n))     Label2.Caption=label2.Caption & Str(b(i+(i-1)*n))   Next i End Sub Sub Output(a()As Integer) Dim line As String line="" For i=1 To n*n     If i>1 And i Mod n=1 Then       List1. AddItem line       line=Str(a(i))     Else          ③       End If   Next i   List1. AddItem line End Sub 以上程序段运行时,为了实现上述功能,画线处应填入的代码分别为:①;②;③。 答案:【1】Int(Rnd*90)+10【2】p=p+n【3】line=line+Str(a(i))
信息技术 试题推荐
最近更新