EndIf
Nexti
Text3=Min
EndSub
PrivateSubCommand2_Click()
Text1=“”
Text2=“”
Text3=“”
EndSub
PrivateFunctionhuiwenshu(sAsString)AsBoolean
l=Len(s)
huiwenshu=False
Fori=1Tol\2
IfMid(s,i,1)<>Mid(s,Len(s)-i+1,1)Then
ExitFunction
EndIf
Nexti
huiwenshu=True
EndFunction
PrivateSubCommand3_Click()
End
EndSub
3、[题目]随机生成由10个两位正整数组成的数组,并使用冒泡法对该数组进行排序。
[编程要求]
1、按"排序"按钮,则开始生成随即数组,按图示格式将数组显示在文本框Text1中;
然后进行排序,并将排序后的数组显示在文本框Text2中。
2、按"清除"按钮,则将Text1,Text2两文本框中的内容清空。
按"退出"按钮,结束程序的执行。
界面应与给出的参考界面相似,不得增加或减少控件。
3、程序中有一个过程,该过程的功能是使用冒泡法对数组进行排序。
【参考代码】
OptionExplicit
PrivateSubCommand1_Click()
DimiAsInteger,a(10)AsInteger
Fori=1To10
a(i)=Int(Rnd*90)+10
Text1=Text1&a(i)&“”
Nexti
sorta
Fori=1To10
Text2=Text2&a(i)&“”
Nexti
OutRe
EndSub
PrivateSubsort(a()AsInteger)
DimiAsInteger,jAsInteger,tAsInteger,SwitchAsBoolean
Fori=1To9
Switch=False
Forj=1To10-i
Ifa(j)>a(j+1)Then
t=a(j):
a(j)=a(j+1):
a(j+1)=t
Switch=True
EndIf
Nextj
IfNotSwitchThenExitFor
Nexti
EndSub
PrivateSubCommand3_Click()
Text1=“”
Text2=“”
EndSub
PrivateSubCommand3_Click()
End
EndSub
PrivateSubOutRe()
DimiOutAsInteger,iIn(10)AsInteger,iInFileAsInteger,iAsInteger
DimsInAsString,lOutAsLong
iInFile=FreeFile
OpenApp.Path&“\in.txt”ForInputAs#iInFile
Fori=1To10
LineInput#iInFile,sIn
iIn(i)=CInt(sIn)
Nexti
Close#iInFile
Callsort(iIn)
iOut=FreeFile
OpenApp.Path&“\out.dat”ForOutputAs#iOut
Fori=1To10
Print#iOut,CStr(iIn(i))
Nexti
CloseiOut
EndSub
4、[题目]顺序查找:
给定一个数,在一个两位随机数数组中查找与此数相同的元素(该数组大小为10个元素)。
如果找到与给定数值相同的元素后输出该元素在数组中的位置;找不到则输出相应的提示信息。
[编程要求]
程序中有一个过程,过程名为search,该过程的功能是返回查找的数在数组中的位置,如果找不到返回-1。
完成此函数的功能
【参考代码】
OptionBase1
Dima(10)AsInteger
PrivateSubCommand1_Click()
DimiAsInteger
Fori=1To10
a(i)=Int(90*Rnd)+10
Text1=text1&Str(a(i))
Nexti
EndSub
PrivateSubCommand2_Click()
DimxAsInteger
x=search(a,Val(Text2))
Ifx=-1Then
Text3=“要查找的数不存在”
Else
Text3=“要查找的是第”&x&“个元素”
EndIf
OutRe
EndSub
PrivateFunctionsearch(b()AsInteger,nAsInteger)AsInteger
DimiAsInteger
L=UBound(b)
Fori=1ToL
Ifb(i)=nThen
search=i
ExitFunction
EndIf
Nexti
search=-1
EndFunction
PrivateSubCommand3_Click()
End
EndSub
PrivateSubOutRe()
DimiOutAsInteger,iInAsInteger,iArray(5)AsInteger,iAsInteger,jAsInteger
DimsInAsString,lOutAsInteger
iIn=FreeFile
OpenApp.Path&“\in.txt”ForInputAs#iIn
Fori=1To5
LineInput#iIn,sIn
iArray(i)=CInt(sIn)
Nexti
LineInput#iIn,sIn
J=CInt(sIn)
Close#iIn
lOut=search(iArray,j)
iOut=FreeFile
OpenApp.Path&“\out.dat”ForOutputAs#iOut
Print#iOut,CStr(lOut)
CloseiOut
EndSub
5、[题目]生成一个由1位数字组成的大小为4*4的矩阵,并求出该矩阵的靠边元素之和。
[编程要求]
程序中有一个过程sum(),该过程的功能是计算矩阵的靠边元素之和。
完成此函数的功能。
【参考代码】
OptionBase1
PrivateSubCommand1_Click()
Dima(4,4)AsInteger,iAsInteger,jAsInteger
Fori=1To4
Forj=1To4
a(i,j)=Int(10*Rnd+0)
Picture1.Printa(i,j)
Nextj
picture1.Print
Nexti
Text1.text=sum(a)
OutRe
EndSub
PrivateFunctionsum(a()AsInteger)AsInteger
Dimu1AsInteger,u2AsInteger,iAsInteger
sum=0
u1=UBound(a,1)
u2=UBound(a,2)
Fori=1Tou1
Forj=1Tou2
Ifi=1Ori=u1Orj=1Orj=u2Thensum=sum+a(i,j)
Nextj
Nexti
EndFunction
PrivateSubCommand2_Click()
Picture1.Cls
Text1.Text=“”
EndSub
PrivateSubCommand3_Click()
End
EndSub
PrivateSubOutRe()
DimiOutAsInteger,iInAsInteger,iArray(5,5)AsInteger,iAsInteger,jAsInteger
DimsInAsString,lOutAsLong
iIn=FreeFile
OpenApp.Path&“\in.txt”ForInputAs#iIn
Fori=1To5
Forj=1To5
LineInput#iIn,sIn
iArray(i,j)=CInt(sIn)
Nextj
Nexti
Close#iIn
lOut=sum(iArray)
lOut=FreeFile
OpenApp.Path&“\out.dat”ForOutputAs#iOut
Print#iOut,CStr(lOut)
CloseiOut
EndSub
6、1、按"执行"按钮,则开始运行程序,求出1000以内的所有孪生素数,显示在列表框中。
2、按"清空"按钮,则将列表框中的内容清空。
按"退出"按钮,结束程序的执行。
3、程序中有一个过程IsPrime,该过程的功能是判断一个数是否是素数。
【参考代码】
PrivateSubCommand1_Click()
DimiAsInteger
Dimflg1AsBoolean
Dimflg2AsBoolean
flg1=IsPrime(3)
Fori=5To1000Step2
flg2=IsPrime(i)
Ifflg1Andflg2ThenList1.AddItemCStr(i-2)&“”&CStr(i)
flg1=flg2
Nexti
OutRe
EndSub
FunctionIsPrime(ByValnAsInteger)AsBoolean
DimiAsInteger
IsPrime=False
Fori=2ToSqr(n)
IfnModi=0ThenExitFunction
Nexti
IsPrime=True
EndFunction
PrivateSubCommand2_Click()
List.Clear
EndSub
PrivateSubCommand3_Click(0
End
EndSub
PrivateSubOutRe()
DimiOutAsInteger,iInAsInteger,iAsInteger
DimsInAsString,lOutAsLong
iIn=FreeFile
Fori=5To200Step2
IfIsPrime(i)ThensIn=sIn&i&vbCrLf
Nexti
iOut=FreeFile
OpenApp.Path&“\out.dat”ForOutputAs#iOut
Print#iOut,sIn
CloseiOut
EndSub
7、输入一个正整数k,将k的各位数字分离后,累加求和。
程序界面如下图所示。
【编程要求】
1、单击"计算"按钮,将结果在文本框中显示出来。
2、单击"清除"按钮,将二个文本框中的内容清空;单击"结束"按钮,程序停止运行。
3、界面应与给出的参考界面相似,不得增加或减少控件;
4、运行程序,并输入123456检验。
【参考代码】
PrivateSubCommand1_Click()
DimxAsLong,tAsInteger,sAsInteger
x=Val(Text1)
s=0
DoWhilex<>0
t=xMod10
s=s+t
x=x\10
Loop
Text2=s
OutRe
EndSub
PrivateSubCommand2_Click()
Text1=“”
Text2=“”
EndSub
PrivateSubCommand3_Click()
End
EndSub
PrivateSubOutRe()
DimiOutAsInteger
iOut=FreeFile
OpenApp.Path&“\out.dat”ForOutputAs#iOut
Print#iOut,Text2.Text
Close#iOut
EndSub