VB习题.docx
《VB习题.docx》由会员分享,可在线阅读,更多相关《VB习题.docx(32页珍藏版)》请在冰豆网上搜索。
![VB习题.docx](https://file1.bdocx.com/fileroot1/2023-2/4/2c3a7660-e1e4-41dd-b74f-5a1b71958c6a/2c3a7660-e1e4-41dd-b74f-5a1b71958c6a1.gif)
VB习题
PrivateSubOption1_Click()
Text1.BackColor=vbRed
EndSub
PrivateSubOption2_Click()
Text1.BackColor=vbGreen
EndSub
PrivateSubOption3_Click()
Text1.BackColor=vbYellow
EndSub
privatesubcommand1_click()
dimsasstring
dimi,nasinteger
s=""
n=len(text1.text)
'*************found**********请不要删除该行
fori=2tonstep2
s=s&mid(text1.text,i,1)
nexti
'*************found**********请不要删除该行
text2.text=S
endsub
privatesubform_click()
dima(9)asinteger,xasinteger,kasinteger,iasinteger
randomize
dowhilei<=9
x=int(rnd*900+100)
'*************found**********请不要删除该行
k=xmod10
ifa(k)=0then
a(k)=x
'*************found**********请不要删除该行
i=i+1
endif
loop
foreachyina
printy
next
endsub
Fori=1ToN
Forj=1ToN
Ifi=jThens=s+X(i,j)
Nextj
Nexti
PrivateSubCommand1_Click()
Command1.Top=0
Command1.Left=0
EndSub
PrivateSubForm_Click()
ConstM=4
ConstN=5
'**********found*************''请不要删除该行'
DimMat(M,N)AsInteger
DimiAsInteger,jAsInteger,tAsInteger
Fori=1ToM
Forj=1ToN
Mat(i,j)=i+j
Nextj
Nexti
Print
Print"初始矩阵为:
"
Print
Fori=1ToM
Forj=1ToN
PrintTab(5*j);Mat(i,j);
Nextj
Print
Nexti
Print
Print
Fori=1ToM
t=Mat(i,2)
Mat(i,2)=Mat(i,4)
'**********found*************''请不要删除该行'
Mat(i,4)=t
Nexti
Print
Print"交换第二列和第四列后的矩阵为:
"
Print
Fori=1ToM
Forj=1ToN
PrintTab(5*j);Mat(i,j);
Nextj
Print
Nexti
EndSub
PrivateSubCommand1_Click()
Dima$,n%,i%,c$
a=InputBox(″输入字符串″)
n=Len(a)
Fori=1ToInt(n/2)
c=Mid(a,i,1)
'**********found*************''请不要删除该行,只在下一行中填空'
Mid(a,i,1)=Mid(a,n+1-i,1)
'**********found*************''请不要删除该行,只在下一行中填空'
Mid(a,n-i+1,1)=c
Nexti
Printa
EndSub
PrivateSubC1_Click()
Dimi,sAsDouble
'***********begin***********
s=1
i=2
Do
m=1/(i*i)
Ifm>0.00001Thens=s+mElseExitDo
i=i+1
Loop
'************end************
Print"s=";
PrintFormat(s,"##.0000");
DataWrite(s)
EndSub
SubDataWrite(xAsDouble)
OpenApp.Path&"\"&"progout.dat"ForOutputAs#1
Print#1,"s=";
Print#1,Format(x,"##.0000")
Close#1
EndSub
PrivateSubCheck1_Click()
Text1.FontBold=True
EndSub
PrivateSubCheck2_Click()
Text1.FontItalic=True
EndSub
PrivateSubCheck3_Click()
Text1.FontUnderline=True
EndSub
PrivateSubCommand1_Click()
DimnAsInteger
n=InputBox("请输入行数n")
Cls
Print"一共有";n;"行"
'**********found*************''请不要删除该行'
CallSub1(n)
EndSub
SubSub1(nAsInteger)
Dimi,j
Fori=1Ton
'**********found*************''请不要删除该行'
Forj=1Toi
Printi;"*";j;"=";i*j,
Nextj
Print
Nexti
EndSub
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfChr(KeyAscii)="("Then
'**********found*************''请不要删除该行,只在下一行中填空'
Count1=Count1+1
ElseIfChr(KeyAscii)=")"Then
Count1=Count1-1
EndIf
IfKeyAscii=13Then
IfCount1=0Then
Print″左右括号配对″
'**********found*************''请不要删除该行,只在下一行中填空'
ElseIfCount1>0Then
Print"左括号多于右括号";Count1;"个"
Else
Print"右括号多于左括号";-Count1;"个"
EndIf
EndIf
EndSub
SubFun(IAsInteger,flagAsInteger)
flag=0
'*********begin*********
DimsAsInteger
Forj=1ToLen(Str(I))
m=Val(Mid(Str(I),j,1))
s=s+m^3
Nextj
Ifs=IThenflag=1
'*********end*********
EndSub
PrivateSubCommand1_Click()
DimIAsInteger,flagAsInteger
OpenApp.Path&"\"&"PROGOUT.DAT"ForOutputAs#1
Picture1.Print"水仙花数有:
"
ForI=100To999
CallFun(I,flag)
Ifflag=1ThenPicture1.PrintI
Ifflag=1ThenPrint#1,I&"是水仙花数"
NextI
Close#1
EndSub
PrivateSubForm_Click()
Text1.Font="隶书"
EndSub
PrivateSubCommand1_Click()
DimsAsString
Dimi,nAsInteger
s=""
n=Len(Text1.Text)
'**********found*************''请不要删除该行'
Fori=1TonStep2
s=s&Mid(Text1.Text,i,1)
Nexti
'**********found*************''请不要删除该行'
Text2.Text=s
EndSub
PrivateSubCommand1_Click()
Dimi,nAsInteger,sAsString
s=""
n=0
'**********found*************''请不要删除该行,只在下一行中填空'
IfOption1.Value=TrueThen
n=1
s=Option1.Caption
ElseIfOption2.Value=TrueThen
n=10
s=Option2.Caption
ElseIfOption3.Value=TrueThen
n=15
s=Option3.Caption
EndIf
'**********found*************''请不要删除该行,只在下一行中填空'
Text1.Text="乘"&s&"需要"&n&"小时"
EndSub
PrivateSubC1_Click()
Dimi,sAsDouble
'***********begin***********
Fori=1To10
s=s+1/(i*i)
Nexti
'************end************
Print"s=";
PrintFormat(s,"##.0000");
DataWrite(s)
EndSub
SubDataWrite(xAsDouble)
OpenApp.Path&"\"&"progout.dat"ForOutputAs#1
Print#1,"s=";
Print#1,Format(x,"##.0000")
Close#1
EndSub
OptionBase1
PrivateSubForm_Click()
ConstM=5
DimMat(M,M)
DimSum%,i%,j%
Fori=1ToM
Forj=1ToM
Mat(i,j)=i*j
Nextj
Nexti
Print
Print"初始矩阵为:
"
Print
Fori=1ToM
Forj=1ToM
'**********found*************''请不要删除该行'
PrintTab(5*j);Mat(i,j);
Nextj
Print
Nexti
Sum=0
Forj=1ToM
'**********found*************''请不要删除该行'
Sum=Sum+Mat(3,j)
Nextj
Print
Print"第三行各元素的和为:
";
PrintSum
EndSub
PrivateSubForm_Click()
Dima(9)AsInteger,xAsInteger,kAsInteger,IAsInteger
Randomize
DoWhileI<=9
x=Int(Rnd*900+100)
'**********found*************''请不要删除该行,只在下一行中填空'
k=xMod10
Ifa(k)=0Then
a(k)=x
'**********found*************''请不要删除该行,只在下一行中填空'
I=I+1
EndIf
Loop
ForEachyIna
Printy
Next
EndSub
SubSaveData()
DimmAsInteger,nAsInteger
OpenApp.Path&"\progin.dat"ForInputAs#1
OpenApp.Path&"\progout.dat"ForOutputAs#2
Fori=1To5
Input#1,m,n
Print#2,"s=";Fun(m,n)
Nexti
Close#1
Close#2
EndSub
FunctionFun(mAsInteger,nAsInteger)
'********begin********
IfmMod2<>0Thenm=m+1
Fori=mTonStep2
Fun=Fun+i*i
Nexti
'*********end*********
EndFunction
PrivateSubCommand1_Click()
d=Fun(Val(Text1.Text),Val(Text2.Text))
Text3.Text=d
Ifd<>EmptyThenSaveData
EndSub
PrivateSubCommand1_Click()
DimSAsDouble
DimSumAsDouble
DimIAsInteger,JAsInteger
Sum=0
ForI=1To20
'**********found*************'请不要删除该行'
S=1
'**********found*************'请不要删除该行'
ForJ=1ToI
S=S*J
NextJ
Sum=Sum+S
NextI
Text1.Text=Str(Sum)
EndSub
PrivateSubCommand2_Click()
End
EndSub
PrivateSubForm_Load()
Text1.Text=""
EndSub
PrivateSubCommand1_Click()
Text1.Text="我的爱好是:
"
IfCheck1.Value=1Then
Text1.Text=Text1.Text&Check1.Caption&","
EndIf
IfCheck2.Value=1Then
'**********found*************''请不要删除该行,只在下一行中填空'
Text1.Text=Text1.Text&Check1.Caption&","
EndIf
IfCheck3.Value=1Then
Text1.Text=Text1.Text&Check3.Caption&","
EndIf
IfCheck4.Value=1Then
Text1.Text=Text1.Text&Check4.Caption
'**********found*************''请不要删除该行,只在下一行中填空'
EndIf
EndSub
DimA(10)AsInteger
SubSaveData()
DimA(10)AsInteger,nAsInteger
OpenApp.Path&"\"&"PROGIN.DAT"ForInputAs#1
OpenApp.Path&"\"&"PROGOUT.DAT"ForOutputAs#2
ForI=1To2
Forj=1To10
Input#1,A(j)
Nextj
Input#1,n
Print#2,n&"的位置为:
"&Fun(A,n)
NextI
Close#1
Close#2
EndSub
FunctionFun(A()AsInteger,nAsInteger)
Fun=0
'********begin********
ForI=1To10
IfA(I)=nThen
Fun=I
ExitFor
EndIf
NextI
PrivateSubCommand1_Click()
DimsAsString
Dimi,nAsInteger
'**********found*************''请不要删除该行'
s=Text1.Text
n=Len(s)
Fori=1Ton
'**********found*************''请不要删除该行'
s=s&Mid(s,n-i+1,1)
Nexti
Text2.Text=s
EndSub
PrivateSubForm_Load()
HScroll1.Width=Picture1.ScaleWidth
HScroll1.Min=0
HScroll1.Max=HScroll1.Width/25
EndSub
PrivateSubHScroll1_Change()
StaticaAsInteger
Ifa>HScroll1.ValueThen'单击了向左滚动箭头
'**********found*************''请不要删除该行'
Shape1.Left=Shape1.Left-20
ElseIfa'**********found*************''请不要删除该行'
Shape1.Left=Shape1.Left+20
EndIf
a=HScroll1.Value'记下当前滚动条位置
EndSub
OptionBase1
DimX()AsInteger,NAsInteger
SubSaveData()
Dima(20,20)AsInteger,sAsInteger
OpenApp.Path&"\"&"PROGIN.DAT"ForInputAs#1
OpenApp.Path&"\"&"PROGOUT.DAT"ForOutputAs#2
Forj=1To4
Fork=1To4
Input#1,a(j,k)
Nextk
Nextj
CallFun(a,4,s)
Print#2,"TheResultis:
"&s
Close#1
Close#2
EndSub
SubFun(X()AsInteger,NAsInteger,sAsInteger)
'********begin********
Fori=1ToN
Forj=1ToN
Ifi+j=N+1Thens=s+X(i,j)
Nextj
Nexti
'*********end*********
EndSub
PrivateSubCommand1_Click()
N=Val(InputBox("请输入矩阵的行数N","数据输入",5))
ReDimX(N,N)
Form1.Cls
Randomize
Fori=1ToN
Forj=1ToN
X(i,j)=Int(Rnd*91)+10
PrintX(i,j);
Nextj
Print
Nexti
EndSub
PrivateSubCommand2_Click()
DimsAsInteger
CallFun(X,N,s)
Print"副对角线元素之和为:
"&s
SaveData
EndSub
'*********end*********
EndFunction
PrivateSubCommand1_Click()
DimIAsInteger,locationAsInteger
Text1.Text=""
ForI=1To10
A(I)=Int(Rnd*31)+20
Text1.Text=Text1.Text&A(I)&""
NextI
EndSub
PrivateSubCommand2_Click()
location=Fun(A,Val(Text2.Text))
Iflocation=0Then
Text3.Text="找不到"&Text2.Text
Else
Text3.Text=Text2.Text&"是数组中的第"&location&"个元素"
EndIf
SaveData
EndSub