常见问题的VB代码.docx
《常见问题的VB代码.docx》由会员分享,可在线阅读,更多相关《常见问题的VB代码.docx(10页珍藏版)》请在冰豆网上搜索。
![常见问题的VB代码.docx](https://file1.bdocx.com/fileroot1/2022-11/23/721df1a2-a0fe-498b-a582-be8b711b5e6b/721df1a2-a0fe-498b-a582-be8b711b5e6b1.gif)
常见问题的VB代码
2到6的偶数阶乘的和
PrivateSubCommand1_Click()
Forx=2To6Step2
s=s+jc(x)
Nextx
Print"s=";s
EndSub
PublicFunctionjc(n)
j=1
Fori=1Ton
j=j*i
Nexti
jc=j
EndFunction
PrivateSubForm_Load()
EndSub
99乘法表
PrivateSubForm_Click()
DimseAsString
PrintTab(35);"九九乘法表"
PrintTab(35);"-----------"
Fori=1To9
Forj=iTo9
se=i&"*"&j&"="&i*j
PrintTab((j-1)*9+1);se;
Nextj
Print
Nexti
EndSub
求1000以内的素数
PrivateSubCommand1_Click()
List1.AddItem2
List1.AddItem3
Forx=2To1000
Fori=2ToSqr(x)
t=1
IfxModi=0Then'x/i=int(x/i)
t=0
ExitFor
EndIf
Nexti
Ift=1Then
List1.AddItemx
EndIf
Nextx
EndSub
PrivateSubForm_Load()
EndSub
成绩评定
PrivateSubCommand1_Click()
DimgAsSingle
g=InputBox("输入成绩")
Ifg>=90Then
grade="优"
ElseIfg>=80Then
grade="良"
ElseIfg>=70Then
grade="中"
ElseIfg>=60Then
grade="及格"
Else
grade="不及格"
EndIf
MsgBox("成绩为:
"&g&"评定为:
"&grade)
EndSub
PrivateSubForm_Load()
EndSub
求二元一次方程组的解
PrivateSubIntSqr(AAsLong,ZsAsLong,GhAsString)
DimIAsLong,JAsLong,BAsLong
B=A
J=1
ForI=2ToB-1
IfBModI=0AndInt(Sqr(B/I))=Sqr(B/I)Then
Zs=Sqr(B/I)
Gh="√("&I&")"
ExitSub
EndIf
NextI
EndSub
PrivateSubCommand1_Click()
DimAAsLong,BAsLong,cAsLong
A=Text1.Text
B=Text2.Text
c=Text3.Text
YyecfcA,B,c
EndSub
PrivateSubYyecfc(AAsLong,BAsLong,cAsLong)
DimPbsZsAsLong,PbsXsAsString,PbsAsLong
Pbs=B^2-4*A*c
IfPbs<0Then
MsgBox"此方程无实数根",0,"错误"
Text1.Text=""
Text2.Text=""
Text3.Text=""
ExitSub
ElseIfA=0Then
MsgBox"二次项系数不能为0",0,"错误"
Else
IntSqrPbs,PbsZs,PbsXs
MsgBox"X1=〔"&-B&"+"&PbsZs&PbsXs&"〕/"&(2*A)&Chr(13)&Chr(10)&"X2=〔"&-B&"-"&PbsZs&PbsXs&"〕/"&(2*A),,"方程的根"
EndIf
EndSub
PrivateSubForm_Load()
EndSub
求两个数的公约数
PrivateSubForm_Click()
n1=InputBox("输入n")
m1=InputBox("输入m")
Ifm1>n1Then
m=m1:
n=n1
Else
m=n1:
n=m1
EndIf
r=mModn
DoWhiler<>0
m=n
n=r
r=mModn
Loop
Printm1;",";n1;"的最大公约数";n
Print"最小公倍数=",m1*n1\n
EndSub
计算二元一次方程的解
PrivateSubCommand1_Click()
DimaAsSingle,bAsSingle,cAsSingle
DimdAsSingle,x1AsSingle,x2AsSingle
a=InputBox("一元二次方程的系数a")
b=InputBox("一元二次方程的系数b")
c=InputBox("一元二次方程的系数c")
Ifa=0Then
a=InputBox("二次项系数不能为0,请重新输入系数a")
EndIf
d=b*b-4*a*c
Ifd>=0Then
x1=(-b+Sqr(d))/(2*a)
x2=(-b-Sqr(d))/(2*a)
Print"方程的解x1=";x1
Print"方程的解x2=";x2
Else
Print"此方程在实数范围内无解"
EndIf
EndSub
PrivateSubForm_Load()
EndSub
交换两个数的位置
PrivateSubcommand1_click()
Dima(10)AsInteger
Fori=1To10
a(i)=Int(Rnd*90+10)
Printa(i);
Nexti
Forj=1To10/2
t=a(j):
a(j)=a(11-j):
a(11-j)=t
Nextj
Print
Print"交换后"
Fori=1To10
Printa(i);
Nexti
EndSub
PrivateSubForm_Load()
EndSub
控制文字变化(大小字体粗体)
PrivateSubCheck1_Click()
Text1.Font.Bold=NotText1.Font.Bold
EndSub
PrivateSubCheck2_Click()
Text1.Font.Italic=NotText1.Font.Italic
EndSub
PrivateSubCheck3_Click()
Text1.Font.Strikethrough=NotText1.Font.Strikethrough
EndSub
PrivateSubCheck4_Click()
Text1.Font.Underline=NotText1.Font.Underline
EndSub
PrivateSubForm_Load()
EndSub
PrivateSubOption1_Click()
Text1.Font.Name="宋体"
EndSub
PrivateSubOption2_Click()
Text1.Font.Name="黑体"
EndSub
冒泡排序法
PrivateSubCommand1_Click()
Dima(),n%,i%,j%,t%
a=Array(8,6,9,3,2,7)
n=UBound(a)
Fori=0Ton-1
Forj=0Ton-1-i
If
a(j)>a(j+1)
Then
t=a(j):
a(j)=a(j+1):
a(j+1)=t
EndIf
Nextj
Nexti
Fori=0Ton:
Printa(i);:
Nexti
EndSub
PrivateSubForm_Load()
EndSub
猴子吃桃的问题
PrivateSubForm_Click()
Dimn%,i%
x=1
Print"第7天的桃子数为:
1只"
Fori=6To1Step-1
x=(x+1)*2
Print"第";i;"天的桃子数为:
";x;"只"
Nexti
EndSub
调节字体变化
DimredAsLong,greenAsLong,blueAsLong
PrivateSubCommand1_Click()
Text2.ForeColor=Text1.BackColor
EndSub
PrivateSubCommand2_Click()
Text2.BackColor=Text1.BackColor
EndSub
PrivateSubForm_Load()
EndSub
PrivateSubHScroll1_Change()
red=HScroll1.Value
green=HScroll2.Value
blue=HScroll3.Value
Text1.BackColor=RGB(red,green,blue)
EndSub
PrivateSubHScroll2_Change()
red=HScroll1.Value
green=HScroll2.Value
blue=HScroll3.Value
Text1.BackColor=RGB(red,green,blue)
EndSub
PrivateSubHScroll3_Change()
red=HScroll1.Value
green=HScroll2.Value
blue=HScroll3.Value
Text1.BackColor=RGB(red,green,blue)
EndSub
子函数问题
PrivateSubCommand1_Click()
Forx=2To6Step2
s=s+jc(x)
Nextx
Print"s=";s
EndSub
PublicFunctionjc(n)
j=1
Fori=1Ton
j=j*i
Nexti
jc=j
EndFunction
PrivateSubForm_Load()
EndSub
最大公约数最小公倍数
PrivateSubForm_Click()
n1=InputBox("输入n")
m1=InputBox("输入m")
Ifm1>n1Then
m=m1:
n=n1
Else
m=n1:
n=m1
EndIf
r=mModn
DoWhiler<>0
m=n
n=r
r=mModn
Loop
Printm1;",";n1;"的最大公约数为";n
Print"最小公倍数=",m1*n1/n
EndSub