第6章 数组 课后答案khdawlxywyl.docx
- 文档编号:1625522
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:23
- 大小:169.46KB
第6章 数组 课后答案khdawlxywyl.docx
《第6章 数组 课后答案khdawlxywyl.docx》由会员分享,可在线阅读,更多相关《第6章 数组 课后答案khdawlxywyl.docx(23页珍藏版)》请在冰点文库上搜索。
第6章数组课后答案khdawlxywyl
第6章数组习题参考答案
6-1请同学上机运行代码。
6-2
OptionExplicit
OptionBase1
PrivateSubCommand1_Click()
DimiAsInteger,tAsInteger
Dima(15)AsInteger
Randomize
Fori=1To15
a(i)=Int(100*Rnd)
Text1=Text1&Str(a(i))
Nexti
Fori=1To7
t=a(i)
a(i)=a(16-i)
a(16-i)=t
Nexti
Fori=1To15
Text2=Text2&Str(a(i))
Nexti
EndSub
PrivateSubCommand2_Click()
Text1=""
Text2=""
EndSub
PrivateSubCommand3_Click()
End
EndSub
6-3
OptionExplicit
Dima(20)AsInteger
PrivateSubCommand1_Click()
DimiAsInteger
Randomize
Fori=1To20
a(i)=Int(90*Rnd)+10
Text1=Text1&Str(a(i))
Nexti
EndSub
PrivateSubCommand2_Click()
DimiAsInteger,jAsInteger,fAsBoolean
DimnAsInteger
Fori=1To20
f=True
Forj=i+1To20
Ifa(i)=a(j)Thenf=False
Nextj
Iff=TrueThenn=n+1
Nexti
Text2=n
EndSub
PrivateSubCommand3_Click()
Text1=""
EndSub
PrivateSubCommand4_Click()
End
EndSub
6-4
OptionExplicit
Dima(20)AsInteger
PrivateSubCommand1_Click()
DimiAsInteger
Randomize
Fori=1To20
a(i)=Int(90*Rnd)+10
Text1=Text1&Str(a(i))
Nexti
EndSub
PrivateSubCommand2_Click()
DimiAsInteger,jAsInteger,maxAsInteger
DimnAsInteger,wAsInteger,pAsInteger
Fori=1To20
n=0:
p=i
Forj=1To4
Ifi>20Thenp=p-20
n=n+a(p)
Nextj
Ifn>maxThen
max=n
w=i
EndIf
Nexti
Text2=max
Picture1.Printw&"--"&w+4
EndSub
PrivateSubCommand3_Click()
Text1=""
EndSub
PrivateSubCommand4_Click()
End
EndSub
6-5
Dima(5,5)AsInteger
PrivateSubCommand1_Click()
Fori=1To4
Forj=1To5
a(i,j)=Int(9*Rnd)+1
Picture1.Printa(i,j);
Nextj
Picture1.Print
Nexti
EndSub
PrivateSubCommand2_Click()
Forj=1To5
s=0
Fori=1To4
s=s+a(i,j)
Nexti
Text1=Text1&Str(s)
Nextj
EndSub
PrivateSubCommand3_Click()
Fori=1To4
s=0
Forj=1To5
s=s+a(i,j)
Nextj
Text2=Text2&Str(s)&Chr(13)&Chr(10)
Nexti
EndSub
PrivateSubCommand4_Click()
Text1=""
Text2=""
Picture1.Cls
EndSub
PrivateSubCommand5_Click()
End
EndSub
6-6
OptionExplicit
PrivateSubCommand1_Click()
Dima(5,5),iAsInteger,jAsInteger
DimnAsInteger,mAsInteger,tAsInteger
Randomize
Fori=1To5
Forj=1To5-1
a(i,j)=Int(40*Rnd)*2+10
Nextj
Nexti
Fori=1To5
Forj=5To6-iStep-1
a(i,j)=Int(40*Rnd)*2+11
Nextj
Nexti
Fori=1To5
Forj=1To5
Text1=Text1&Str(a(i,j))
Nextj
Text1=Text1&vbCrLf
Nexti
EndSub
6-7同6-4
6-8
Dima(5,5)AsInteger
PrivateSubCommand1_Click()
Randomize
Fori=1To5
Forj=1To5
a(i,j)=Int(100*Rnd)+1
Picture1.PrintRight(""&a(i,j),4);
Nextj
Picture1.Print
Nexti
EndSub
PrivateSubCommand2_Click()
Fori=1To5
Forj=1To5
s=s+a(i,j)
Nextj
Nexti
Text1=Str(s)
EndSub
PrivateSubCommand3_Click()
Fori=1To5
Forj=1To5
Ifi=1Orj=1Ori=5Orj=5Then
s=s+a(i,j)
EndIf
Nextj
Nexti
Text2=Str(s)
EndSub
PrivateSubCommand4_Click()
Fori=1To5
Forj=1To5
Ifi=jOrj=6-iThen
s=s+a(i,j)
EndIf
Nextj
Nexti
Text3=Str(s)
EndSub
6-9
OptionExplicit
PrivateSubCommand1_Click()
Dima()AsInteger,iAsInteger,jAsInteger
DimmaxAsInteger,kAsInteger,fAsBoolean
DimnAsInteger,mAsInteger,tAsInteger
n=InputBox("输入矩阵的行数:
")
m=InputBox("输入矩阵的列数:
")
ReDima(n,m)
Randomize
Fori=1Ton
Forj=1Tom
a(i,j)=Int(90*Rnd)+10
Text1=Text1&Str(a(i,j))
Nextj
Text1=Text1&vbCrLf
Nexti
Fori=1Ton
max=0
Forj=1Tom
Ifa(i,j)>maxThen
max=a(i,j)
t=j
EndIf
Nextj
Fork=1Ton
Ifa(k,t) Nextk Ifk>nThen Picture1.Print"鞍点: ";a(i,t);"第";i;"行";t;"列" f=True EndIf Nexti Iff=FalseThenPicture1.Print"没有鞍点" EndSub PrivateSubCommand2_Click() Text1="" Picture1.Cls EndSub PrivateSubCommand3_Click() End EndSub 6-10 OptionExplicit PrivateSubForm_Click() Dima()AsInteger,nAsInteger DimiAsInteger,jAsInteger n=InputBox("层数") ReDima(n,n) Fori=1Ton PrintTab(20-2*i); Forj=1Toi Ifi=1Ori=jThen a(i,j)=1 Else a(i,j)=a(i-1,j-1)+a(i-1,j) EndIf PrintLeft(a(i,j)&"",4); Nextj Print Nexti EndSub 6-11 OptionExplicit PrivateSubCommand1_Click() Dima(4,5),iAsInteger,jAsInteger Dimb(4)AsInteger,maxAsInteger,minAsInteger DimnAsInteger,mAsInteger,tAsInteger Randomize max=0: min=32767 Fori=1To4 Forj=1To5 a(i,j)=Int(90*Rnd)+10 Text1=Text1&Str(a(i,j)) b(i)=b(i)+a(i,j) Nextj Text1=Text1&vbCrLf Ifmax max=b(i): m=i ElseIfmin>b(i)Then min=b(i): n=i EndIf Nexti Label1.Caption="max行和: "&max&"min行和: "&min&vbCrLf&"max行: "&m&"min行: "&n&"交换这两行" Forj=1To5 t=a(m,j) a(m,j)=a(n,j) a(n,j)=t Nextj Fori=1To4 Forj=1To5 Text2=Text2&Str(a(i,j)) Nextj Text2=Text2&vbCrLf Nexti EndSub 6-12 OptionExplicit PrivateSubCommand1_Click() Dima(),iAsInteger,jAsInteger Dimb(4)AsInteger,maxAsInteger,minAsInteger DimnAsInteger,mAsInteger,tAsInteger Randomize n=InputBox("矩阵阶数n: ") ReDima(n,n) Fori=1Ton Forj=1Ton a(i,j)=Int(90*Rnd)+10 Text1=Text1&Str(a(i,j)) Nextj Text1=Text1&vbCrLf Nexti Fori=1Ton Forj=1Ton Text2=Text2&Str(a(j,i)) Nextj Text2=Text2&vbCrLf Nexti EndSub PrivateSubCommand2_Click() Text1="" Text2="" EndSub PrivateSubCommand3_Click() End EndSub 6-13 OptionExplicit OptionBase1 PrivateSubCommand1_Click() Dima(3,3)AsInteger,iAsInteger,jAsInteger DimmaxAsLong,kAsLong,fAsInteger DimnAsInteger,mAsInteger Randomize Fori=1To3 Forj=1To3 a(i,j)=Int(90*Rnd)+10 Text1=Text1&Str(a(i,j)) Nextj Text1=Text1&vbCrLf Nexti Fori=1To3'主对角线方向 m=i k=1 Forj=1To3 k=k*a(m,j) m=m+1 Ifm>3Thenm=1 Nextj Ifk>maxThen max=k n=i f=1 EndIf Nexti Fori=1To3'辅对角线方向 m=i k=1 Forj=1To3 k=k*a(j,m) m=m-1 Ifm<1Thenm=3 Nextj Ifk>maxThen max=k n=i f=2 EndIf Nexti Picture1.Print"最大组元素: " Iff=1Then Fori=1To2 Picture1.Print"a(";n;",";i;")=";a(n,i);""; n=n+1 Ifn>3Thenn=1 Nexti Picture1.Print"a(";n;",";i;")=";a(n,i) ElseIff=2Then Fori=1To2 Picture1.Print"a(";i;",";n;")=";a(i,n);""; n=n-1 Ifn<1Thenn=3 Nexti Picture1.Print"a(";i;",";n;")=";a(i,n) EndIf Picture1.Print"乘积=";max EndSub PrivateSubCommand2_Click() Text1="" Picture1.Cls EndSub PrivateSubCommand3_Click() End EndSub 6-14 OptionExplicit PrivateSubCommand1_Click() Dima(3,3)AsInteger,iAsInteger,jAsInteger DimkAsInteger i=3: j=2: a(i,j)=1: k=1 DoUntilk>9 k=k+1 Ifi+1>3Andj+1<=3Then i=1: j=j+1 ElseIfi+1<=3Andj+1>3Then i=i+1: j=1 ElseIfi+1>3Andj+1>3Then i=i-1 ElseIfi+1<=3Andj+1<=3Anda(i+1,j+1)<>0Then i=i-1 Else i=i+1: j=j+1 EndIf a(i,j)=k Loop Fori=1To3 Forj=1To3 Picture1.Printa(i,j); Nextj Picture1.Print Nexti EndSub PrivateSubCommand2_Click() Dima()AsInteger,iAsInteger,jAsInteger DimkAsInteger DimnAsInteger n=InputBox("幻方阶数: ") ReDima(n,n) i=n: j=(n+1)/2: a(i,j)=1: k=1 DoUntilk>n*n k=k+1 Ifi+1>nAndj+1<=nThen i=1: j=j+1 ElseIfi+1<=nAndj+1>nThen i=i+1: j=1 ElseIfi+1>nAndj+1>nThen i=i-1 ElseIfi+1<=nAndj+1<=nAnda(i+1,j+1)<>0Then i=i-1 Else i=i+1: j=j+1 EndIf a(i,j)=k Loop Fori=1Ton Forj=1Ton Picture1.PrintRight(""&a(i,j),4); Nextj Picture1.Print Nexti EndSub 6-15 OptionExplicit OptionBase1 PrivateSubCommand1_Click() Dima()AsInteger,iAsInteger,jAsInteger DimmaxAsLong,kAsLong,fAsInteger DimnAsInteger,mAsInteger Randomize f=InputBox("输入方阵阶数: ") ReDima(f,f) Fori=1Tof Forj=1Tof a(i,j)=Int(90*Rnd)+10 Text1=Text1&Str(a(i,j)) Nextj Text1=Text1&vbCrLf Nexti Fori=1Tof'副对角线方向 m=i k=0 Forj=1Tof k=k+a(j,m) m=m-1 Ifm<1Thenm=f Nextj Ifk>maxThen max=k n=i EndIf Nexti Picture1.Print"max: ";max Fori=1Tof Picture1.Print"a(";i;",";n;")=";a(i,n) n=n-1 Ifn<1Thenn=f Nexti EndSub PrivateSubCommand2_Click() Text1="" Picture1.Cls EndSub PrivateSubCommand3_Click() End EndSub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第6章 数组 课后答案khdawlxywyl 课后 答案 khdawlxywyl