ReDimPreserveA(UBound(A)+1)
t=A(i)
A(i)=Ip
ins=i
ExitFor
EndIf
Nexti
Fori=ins+1ToUBound(A)-1
n=A(i)
A(i)=t
t=n
Nexti
Text2.Text=""
Fori=0ToUBound(A)-1
Text2.Text=Text2.Text&""&A(i)
Nexti
EndSub
PrivateSubForm_Load()
ReDimA(9)
A(0)=4:
A
(1)=6:
A
(2)=12:
A(3)=20
A(4)=31:
A(5)=63:
A(6)=75:
A(7)=89
A(8)=100
EndSub
23、声明一个整型的二维数组a(1to4,1to4),用随机函数产生各元素,范围介于[1,20]之间,编程将第2行和第4行对应元素交换。
PrivateSubForm_Click()
Dima(0To3,0To3),i%,j%,t
Fori=0To3
Forj=0To3
a(i,j)=Int(Rnd*21+1)
PrintTab(j*5);a(i,j);
Nextj
Nexti
Print
Print
Forj=0To3
t=a(1,j):
a(1,j)=a(3,j):
a(3,j)=t
Nextj
Fori=0To3
Forj=0To3
PrintTab(j*5);a(i,j);
Nextj
Nexti
EndSub
24、定义三个4×4的二维数组A,B,C,A和B中的元素均随机生成,数组A的范围是1~20,数组B的范围是100~200,数组C是A和B相加得到的。
请编程生成并输出A,B,C。
PrivateSubCommand1_Click()
Dima(3,3),b(3,3),c(3,3),t%,m%
Fori=0To3
Forj=0To3
a(i,j)=Int(Rnd*20+1)
Picture1.Printa(i,j);
Nextj
Nexti
Picture1.Print
Fori=0To3
Forj=0To3
b(i,j)=Int(Rnd*101+100)
Picture1.Printb(i,j);
Nextj
Nexti
Picture1.Print
Fori=0To3
Forj=0To3
c(i,j)=a(i,j)+b(i,j)
Picture1.Printc(i,j);
Nextj
Nexti
25、随机产生10个1~100的正整数放入数组,显示产生的数,求最大值、最小值、平均值。
PrivateSubForm_Click()
Dima(1To10)AsInteger,i%,maxa%,mina%,suma%
Fori=1To10
a(i)=Int(Rnd*71+30)
Nexti
mina=a
(1)
maxa=a
(1)
suma=a
(1)
Fori=2To10
Ifa(i)>maxaThenmaxa=a(i)
Ifa(i)suma=suma+a(i)
Nexti
Fori=1To10
Printa(i);
Nexti
Print
Print"max=";maxa,"min=";mina,"aver=";suma/10
EndSub
26、利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[20,50]内的整数,输出每行中的最大值和下标。
Dima%(3,3),i%,j%,imax%
PrivateSubCommand1_Click()
Fori=0To3
Forj=0To3
a(i,j)=Int(Rnd*31+20)
Picture1.Printa(i,j);"";
Nextj
Picture1.Print
Nexti
imax=0
Fori=0To3
Forj=0To3
Ifa(i,imax)imax=j
EndIf
Nextj
Picture2.Print"第";i+1;"行";"最大值为";a(i,imax);"下标为";"(";i;imax;")"
Nexti
EndSub
27、声明一个整型的二维数组a(1to4,1to4),用随机函数产生各元素,范围介于[1,20]之间,编程将第1行和第3行对应元素交换。
PrivateSubForm_Click()
Dima%(1To4,1To4),i%,j%
Print"排序前"
Fori=1To4
Forj=1To4
a(i,j)=Int(Rnd*20+1)
PrintTab(j*4);a(i,j);
Nextj
Print
Nexti
Print"排序后"
Forj=1To4
t=a(1,j):
a(1,j)=a(3,j):
a(3,j)=t
Nextj
Fori=1To4
Forj=1To4
PrintTab(j*4);a(i,j);
Nextj
Print
Nexti
EndSub
28.编写一个过程计算并输出区间[100,1000]内所有素数的和(要求判断素数使用过程(函数或子过程)来实现)。
调用该过程。
(提示:
只能被1和自身整除的自然数成为素数)
Functionsushu%(ByValx%)
Dimm%,TagAsBoolean,i%
m=Val(x)
Tag=True
Fori=2Tom-1
If(mModi)=0ThenTag=False
Nexti
IfTagThensushu=x
EndFunction
PrivateSubCommand1_Click()
Dimi%,k%
Fori=100To1000
Ifsushu(i)ThenList1.AddItemi
Nexti
Sum=0
Fork=0ToList1.ListCount-1
Sum=Sum+Val(List1.List(k))
Nextk
Label1="[100,1000]内所有素数和为:
"&Sum
EndSub
29,30、随机生成一个整型的二维数组,范围在[10,20]之间,以下三角形式输出该数组。
PrivateSubForm_Click()
Dima(4,4)AsInteger
Fori=0To4
Forj=0To4
a(i,j)=Int(Rnd*11+10)
Nextj
Nexti
Fori=0To4
Forj=0Toi
Printa(i,j);
Nextj
Print
Nexti
EndSub
以上三角形式输出该数组
Dima%(4,4)
PrivateSubCommand1_Click()
Picture1.Cls
Fori=0To4
Forj=iTo4
Picture1.PrintTab(j*6);a(i,j)