Z=Y
Y=X
X=Z
EndIf
Print"比较后:
"
Print"X=";X,"Y=";Y
EndSub
3判断一个整数的奇偶性
PrivateSubForm_Click()
x=Val(InputBox("请输入一个数;"))
IfxMod2=0Then
MsgBox(x&"是偶数")
Else
MsgBox(x&"是奇数")
EndIf
EndSub
4帐号和密码
PrivateSubCommand1_Click()
IfText1.Text="12345"Then
IfText2.Text="12345"Then
MsgBox"登录成功",64+1,"登录"
Else
MsgBox"密码错误,请重新输入",16
EndIf
Else
MsgBox"用户不存在",16+1,"登录"
EndIf
EndSub
5判断一个数是整数还是小数,如果是整数再判断其奇偶性。
PrivateSubForm_Click()
x=InputBox("请输入一个数;")
IfInStr(1,x,".")=0Then
IfxMod2=0Then
MsgBox(x&"是整数,是偶数!
")
Else
MsgBox(x&"是整数,是奇数!
")
EndIf
Else
MsgBox(x&"是小数")
EndIf
EndSub
6书店优惠售书
PrivateSubCommand1_Click()
DimxAsSingle,yAsSingle
x=Val(Text1.Text)
SelectCasex
CaseIs<=100
y=x*0.8
CaseIs<=200
y=x*0.7
CaseIs<=300
y=x*0.5
CaseElse
y=x*0.3
EndSelect
Label3.Caption=y&"元"
EndSub
7设计一个计程车收费程序
PrivateSubCommand1_Click()
X=Val(Text1.Text)
SelectCaseX
CaseIs<=3
Label3.Caption=6
CaseIs<=30
Label3.Caption=6+(X-3)*1.5
CaseElse
Label3.Caption=6+27*1.5+(X-30)*2
EndSelect
EndSub
8输入10个数,输出累加之和。
PrivateSubCommand1_Click()
DimSAsSingle,iAsInteger,xAsSingle
S=0
Fori=1To10
x=Val(InputBox("请输入第"&i&"个数"))
Print"第"&i&"个数"&x
S=S+x
Nexti
Print"十个数累加之和为"&S
EndSub
9输入10个数,输出偶数之和。
PrivateSubCommand1_Click()
DimSAsSingle,xAsSingle
DimnAsInteger,iAsInteger
S=0
Fori=1To10
x=Val(InputBox("请输入第"&i&"个数"))
Print"第"&i&"个数"&x
IfxMod2=0Then
S=S+Val(x)
EndIf
Nexti
Print"十个数中偶数累加之和为"&S
EndSub
10求S=1+2+3+……+100
PrivateSubCommand1_Click()
DimIAsInteger,SAsLong
S=0
ForI=1To100
S=S+I
NextI
PrintTab(10);"S=";S
EndSub
11求S=1+3+5+……+99
PrivateSubCommand1_Click()
s=0
Fori=1To100Step2
s=s+i
Nexti
Print"s=";s
EndSub
12S=1+22+32+……+102,计算并输出s
PrivateSubCommand1_Click()
s=0
Fori=1To10
s=s+i^2
Nexti
Picture1.Print"s=";s
EndSub
13S=1+22+32+……+n2,问n为多少时,s的值大于100000?
PrivateSubCommand1_Click()
s=0
n=0
DoWhiles<=100000
n=n+1
s=s+n^2
Loop
Print
Print
Print
Print
Print
PrintTab(15);"n=";n
EndSub
141)S=1/2+1/4+1/6+1/8+1/10+…+1/20,求s并输出s的值。
PrivateSubCommand1_Click()
DimsAsSingle,iAsInteger
s=0
Fori=2To20Step2
s=s+1/i
Nexti
Print"s=";s
EndSub
15s=1×2×3×……×10
求n!
n为[1~10]之间的随机整数。
PrivateSubCommand1_Click()
DimsAsLong,iAsInteger
s=1
Fori=1To10
s=s*i
Nexti
Print"10!
=";s
EndSub
16已知一数列的前两项均为1,从第3项开始,每一项的值为其前面两项之和,求数列的前20项的和。
PrivateSubCommand1_Click()
DimsAsInteger,f1AsInteger
Dimf2AsInteger,f3AsInteger
s=0
f1=1
f2=1
s=f1+f2
Fori=3To20
f3=f1+f2
s=s+f3
f1=f2
f2=f3
Nexti
Print"s=";s
EndSub
17
PrivateSubCommand1_Click()
DimsAsSingle,f1AsInteger,f2AsInteger
Dimf3AsInteger,iAsInteger
s=0
f1=1
f2=2
Fori=1To20
s=s+f2/f1
f3=f2
f2=f1+f2
f1=f3
Nexti
Print"s=";s
EndSub
18S=1!
+2!
+3!
+....+10!
PrivateSubCommand1_Click()
DimsAsLong,s1AsLong,iAsInteger,jAsInteger
s=0
Fori=1To10
s1=1
Forj=1Toi
s1=s1*j
Next
s=s+s1
Nexti
Print
Print"s=";s
EndSub
考虑另一种算法
见其他打印部分
19s=1+(1+2)+(1+2+3)+…+(1+2+…+10)
PrivateSubCommand1_Click()
DimsAsInteger,s1AsInteger
DimiAsInteger,jAsInteger
s=0
Fori=1To10
s1=0
Forj=1Toi
s1=s1+j
Nextj
s=s+s1
Nexti
Print"s=";s
EndSub
20s=1-1/3!
+1/5!
-1/7!
+…直到某一项的绝对值小于10^(-5)
PrivateSubCommand1_Click()
DimSAsSingle,S1AsSingle
DimiAsInteger,FAsInteger,JAsInteger
S=0
S1=1
i=1
F=1'正负符号标志
DoWhile1/S1>10^(-5)
S1=1
J=1
DoWhileJ<=i
S1=S1*J
J=J+1
Loop
S=S+1/S1*F
i=i+2
F=-F'换符号
Loop
Print
Print"S=";S-1/S1,"I=";i
'S=0
'x=1
'n=1
'DoWhile1/x>=10^(-5)
'S=S+(1/x)*(-1)^(n+1)
'x=x*(n*2)*(2*n+1)
'n=n+1
'Loop
'Print"S=";S
EndSub
21s=2+22+222+2222+22222+222222
PrivateSubCommand1_Click()
DimsAsLong,s1AsLong,iAsInteger,jAsInteger
s=0
Fori=1To6
s1=0
Forj=1Toi
s1=s1+2*10^(j-1)
Next
s=s+s1
Next
Print"s=";s
EndSub
22S=a+aa+aaa+……+aaaa(N个a)其中a是一个[1,9]的随机整数,N是一个[5,10]的随机整数。
PrivateSubCommand1_Click()
DimaAsInteger,nAsInteger
DimsAsLong,s1AsLong,iAsInteger,jAsInteger
Cls
Randomize
a=Int(9*Rnd)+1
n=Int(6*Rnd)+5
s=0
Fori=1Ton
s1=0
Forj=1Toi
s1=s1+a*10^(j-1)
Nextj
s=s+s1
Nexti
Print"当a=";a,"n=";n;"时"
Print
Print"s=";s
EndSub
23S=1+12+123+1234+12345+123456
PrivateSubCommand1_Click()
DimsAsLong,s1AsLong,iAsInteger,jAsInteger
s=0
s1=0
Fori=1To6
s1=s1*10+i
Prints1
s=s+s1
Nexti
Print"s=";s
's=0
'Fori=1To6
's1=0
'Forj=1Toi
's1=s1+j*10^(i-j)
'Nextj
's=s+s1
'Nexti
'Print"s=";s
EndSub
24将一字符串逆序输出
PrivateSubCommand1_Click()
DimnAsInteger,s1AsString,s2AsString
s1=Text1.Text
s2=""
n=Len(Trim(Text1.Text))
Fori=nTo1Step-1
s2=s2&Mid(s1,i,1)
Nexti
Text2.Text=s2
EndSub
25判断任给一大于3的整数是否是素数。
PrivateSubCommand1_Click()
DimNAsInteger,IAsInteger
N=InputBox("请输入一个大于3的整数")
ForI=2ToN-1
IfNModI=0Then
ExitFor
EndIf
NextI
IfN=IThen
MsgBox(N&"是素数")
Else
MsgBox(N&"不是素数")
EndIf
EndSub
26输出3~100之间的素数
输出
PrivateSubCommand1_Click()
DimnAsInteger,iAsInteger
Forn=3To100
Fori=2Ton-1
IfnModi=0Then
ExitFor
EndIf
Nexti
Ifi=nThen
Printn
EndIf
Nextn
EndSub
换行输出
PrivateSubCommand2_Click()
DimnAsInteger,iAsInteger
DimmAsInteger
m=0
Forn=3To100
Fori=2Ton-1
IfnModi=0Then
ExitFor
EndIf
Nexti
Ifi=nThen
m=m+1
IfmMod5=0Then
Printn
Else
Printn;
EndIf
EndIf
Nextn
EndSub
'PrivateSubCommand2_Click()
'DimnAsInteger,iAsInteger
'dimmasin
'm=0
'Forn=3To100
'Fori=2Ton-1
'IfnModi=0Then
'ExitFor
'EndIf
'Nexti
'Ifi=nThen
'm=m+1
'IfmMod5=0Then
'PrintTab(6*m);n
'm=0
'Else
'PrintTab(6*m);n;
'EndIf
'EndIf
'Nextn
'EndSub
27输出100~999之间的水仙花数
PrivateSubCommand1_Click()
DimIAsInteger,AAsInteger
DimBAsInteger,CAsInteger
ForI=100To999
A=Int(I/100)
B=Int(I/10)-A*10
C=I-A*100-B*10
IfA^3+B^3+C^3=IThen
Picture1.PrintI;
EndIf
NextI
EndSub
28陈婷的QQ密码是一个5位数。
但因为有一段比较长的日子没上了,陈婷把这个密码给忘了。
不过陈婷的生日是8月1日,她妈妈的生日是9月1日,她特别喜欢把同时是8l和9l的倍数用作密码。
陈婷还记得这个密码的中间一位(百位数)是l。
你能设计一个程序帮她找回这个密码吗?
PrivateSubCommand1_Click()
'陈婷密码:
5位数,能被81,91整除,百位是1
DimiAsLong,xAsInteger
Fori=10100To99199
x=i\100Mod10
Ifx=1Then
IfiMod91=0AndiMod81=0Then
MsgBox"密码是"&i
EndIf
EndIf
Nexti
EndSub
29百元买百鸡问题。
假定小鸡每只5角,公鸡每只2元,母鸡每只3元。
现在有100元钱要求买100只鸡(每种鸡至少一只),编程列出所有可能的购鸡方案
OptionExplicit
PrivateSubCommand1_Click()
DimXAsInteger,YAsInteger
DimzAsInteger,IAsInteger
I=0
ForX=1To100
ForY=1To50
Forz=1To33
IfX+Y+z=100And0.5*X+2*Y+3*z=100Then
I=I+1
Picture1.Print"方案"&I&":
小鸡"&X&"只,"_
&"公鸡"&Y&"只,"&"母鸡"&z&"只。
"
EndIf
Nextz,Y,X
EndSub
30鸡兔合笼共20只,脚46只问鸡几只?
兔几只?
PrivateSubCommand1_Click()
DimxAsInteger,yAsInteger
Forx=1To20
Fory=1To20-x
Ifx+y=20And2*x+4*y=46Then
Print"鸡"&x&"只","兔"&y&"只"
EndIf
Nexty
Nextx
EndSub
31找出100之内的自然数对。
(两数的和是某个自然数的平方,两数的差也是某数的平方)
PrivateSubCommand1_Click()
Fori=1To99
Forj=i+1To100
IfInt(Sqr(j-i))=Sqr(j-i)AndInt(Sqr(j+i))=Sqr(j+i)Then
Printi,j
EndIf
Nextj
Nexti
EndSub
32找出1000-9999之间的玫瑰花数。
PrivateSubCommand1_Click()
DimiAsInteger
Dima1AsInteger,a2AsInteger
Dima3AsInteger,a4AsInteger
Fori=1000To9999
a1=i\1000
a2=i\100Mod10
a3=i\10Mod10
a4=iMod10
Ifa1^4+a2^4+a3^4+a4^4=iThen
Printi
EndIf
Nexti
EndSub
33猴子吃桃子。
小猴在某天摘桃若干个,当天吃掉一半多一个;第二天吃了剩下的桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第7天要吃时只剩下一个,问小猴共摘下了多少个桃子?
OptionExplicit
PrivateSubCommand1_Click()
DimXAsInteger,IAsInteger
X=1
ForI=6To1Step-1
X=(X+1)*2
Picture1.Print"第"&I;"天桃子数是:
"&X&"个。
"
NextI
EndSub
34瓜农有西瓜1020个,每天能卖掉前一天剩下的总数的一半还多两个,问多少天能卖完。
OptionExplicit
PrivateSubCommand1_Click()
DimXAsInteger,IAsInteger
X=1020
I=0
DoWhileX>0
X=X/2-2
I=I+1
Loop
Label4.Caption="第"&I&"天能卖完."
EndSub
35一球从10米高空落下,每次弹起高度为落下高度的40%,求第8次落下,小球经历的路程。
PrivateSubCommand1_Click()
DimsAsSingle,hAsSingle,iAsInteger
s=10
h=10
Fori=2To8
h=h*0.4
s=s+h*2
Nexti
Picture1.Print"球第八次落下经历的路程是:
";s;"米"
EndSub
36输入十个数,输出其中的最大数和最小数
PrivateSubCommand1_Click()
DimxAsSingle,iAsInteger
DimmaxAsSingle,minAsSingle
x=Val(InputBox("请输入第1个数"))
Printx
max=x:
min=x
Fori=2To10
x=Val(InputBox("请输入第"&