VB大题.docx
《VB大题.docx》由会员分享,可在线阅读,更多相关《VB大题.docx(45页珍藏版)》请在冰豆网上搜索。
![VB大题.docx](https://file1.bdocx.com/fileroot1/2023-6/17/adc8db4e-071f-4700-ae24-64b4999f4523/adc8db4e-071f-4700-ae24-64b4999f45231.gif)
VB大题
1、编写程序,将26个字母逆序输出。
Privatesubcommand_click()
Dimsasstring,rasstring,tasstring*1
S=“ABCDEFGHIJKLMNOPQRSTUVWXYZ”
Prints
M=Len(s)
Fori=mto1step-1
T=mid(s,i,1)
R=r&t
Nexti
Printr
Endsub
2、编写程序,在窗体上随机输出一个10--99之间的两位整数。
PrivateSubForm_Click()
cl
Randomize
PrintInt(Rnd()*90)+10
EndSub
3、在窗体的单击事件中编写程序,从键盘输入3个数,按从小到大的顺序输出到窗体上。
PrivateSubForm_Click()
cls
a=Val(InputBox("a="))
b=Val(InputBox("b="))
c=Val(InputBox("c="))
Ifa>bThen
t=a:
a=b:
b=t
EndIf
Ifa>cThen
t=a:
a=c:
c=t
EndIf
Ifb>cThen
t=b:
b=c:
c=t
EndIf
Print"按从小到大排序后的结果:
";a;"、";b;"、";c
EndSub
4、编写程序,要求随着不断单击命令按钮Command1,窗体的标题依次显示为:
今天是星期一→今天是星期二→今天是星期三→今天是星期四→今天是星期五→今天是星期六→今天是星期日。
PrivateSubCommand1_Click()
StaticiAsInteger
i=i+1
SelectCasei
Case1
Form1.Caption="今天是星期一"
Case2
Form1.Caption="今天是星期二"
Case3
Form1.Caption="今天是星期三"
Case4
Form1.Caption="今天是星期四"
Case5
Form1.Caption="今天是星期五"
Case6
Form1.Caption="今天是星期六"
Case7
Form1.Caption="今天是星期日"
i=0
EndSelect
EndSub
5、编写程序,将字符串""山高人为峰""按逆序""峰为人高山""输出。
PrivateSubCommand1_Click()
cls
s="山高人为峰"
s1=""
Fori=Len(s)To1Step-1
s1=s1&Mid(s,i,1)
Next
Prints1
EndSub
6、使用文本框输入长方形的长和宽,用MsgBox输出长方形的周长和面积.
PrivateSubForm_Click()
l=Val(Text1.Text)
h=Val(Text2.Text)
MsgBox"长是"+Str(l)+"宽是"+Str(h)+_
"的长方形"+Chr(10)+"面积是:
"+Str(l*h)+_
Chr(10)+"周长是:
"+Str(2*(l+h))
EndSub
7、输入x,计算y的值。
其中:
y=1+3x(x>=0);y=1-5x(x<0)。
PrivateSubForm_Click()
cls
x=Val(InputBox("x="))
Ifx>=0Then
y=1+3*x
Else
y=1-5*x
EndIf
Print"x=";x;"时y=";y
EndSub
9、编程计算从200到1000之间的所有4的倍数之和。
PrivateSubForm_Click()
cls
Sum=0
Fori=200To1000Step4
Sum=Sum+i
Next
Print"200-1000中4的倍数和是:
";Sum
EndSub
10、编写程序,通过InputBox函数从键盘上输入4个数,计算并在窗体上显示这4个数的和及平均值。
PrivateSubForm_Click()
cls
Sum=0
Fori=1To4
x=Val(InputBox("接收4个数"))
Sum=Sum+x
Next
Print"和是";Sum
Print"平均值是";Sum/4
EndSub
11、编写程序,点击命令按钮Command1时,两个文本框text1与text2中的内容进行交换。
PrivateSubCommand1_Click()
t=Text1.Text
Text1.Text=Text2.Text
Text2.Text=t
EndSub
12、用InputBox函数输入3个数据,判断这3个数据是否可以组成三角形,如果能够组成三角形,计算并在窗体上输出三角形的面积。
构成三角形的条件是:
任意两边之和大于第三边。
面积公式为area=,其中S=(A+B+C)/2,A、B、C为三条边的长度。
PrivateSubForm_Click()
cls
a=Val(InputBox("a="))
b=Val(InputBox("b="))
c=Val(InputBox("c="))
Ifa+b>cAnda+c>bAndb+c>aThen
s=(a+b+c)/2
area=Sqr(s*(s-a)*(s-b)*(s-c))
Print"边长为:
";a;b;c;"的三角形面积为:
";area
EndIf
EndSub
13、编程将一维数组A(10)中数组元素循环向后移动一个位置,最后一个元素移动到第一个元素的位置。
PrivateSubForm_Click()
Dima(10)AsInteger
Randomize
cls
Print"初始数组为:
"
Fori=0To10
a(i)=Int(Rnd*10)
Printa(i);
Next
Print
t=a(10)
Fori=10To1Step-1
a(i)=a(i-1)
Next
a(0)=t
Print"移位后数组为"
Fori=0To10
Printa(i);
Next
Print
EndSub
14、使用InputBox函数输入圆半径r,使用文本框分别输出圆球表面积和圆球体积。
提示:
圆球表面积公式为4*3.14*r;圆球体积公式为(3/4)*3.14*r3
PrivateSubForm_Click()
r=Val(InputBox("圆半径:
"))
Text1.Text="半径为"+Str(r)+"的圆球表面积是"+Str(4*3.14*r)
Text2.Text="半径为"+Str(r)+"的圆球体积是"+Str((3/4)*3.14*r^3)
EndSub
15、编写程序,在窗体上输出由1、2、3、4、5这五个数字组成的所有可能的两位数,并统计它们的个数。
PrivateSubForm_Click()
Cls
Fori=1To5
Forj=1To5
gs=gs+1
Printi*10+j;
IfgsMod5=0ThenPrint
Next
Next
EndSub
16、在窗体上输出下三角的九九乘法表。
PrivateSubForm_Click()
Cls
Fori=1To9
ForJ=1Toi
Printi;"*";J;"=";Format(Str(i*J),"!
@@");
Next
Print
Next
EndSub
17、编写程序,实现如下功能:
使用InputBox函数输入一个数,单击窗体时,如果该数大于等于0,将其平方根输出到标签Lable1上,否则输出“数据不能为负数”的提示信息。
PrivateSubForm_Click()
x=Val(InputBox("接收一个数"))
Ifx>=0Then
Label1.Caption=Sqr(x)
Else
MsgBox"数据不能为负数"
EndIf
EndSub
DimaAsInteger
DimnAsInteger
DimsAsInteger
a=InputBox("inputa:
")
n=InputBox("inputn:
")
s=0
t=0
Fori=1Ton
t=t*10+a
s=s+t
Next
Prints
PrivateSubForm_Click()
Cls
a=Val(InputBox("a="))
n=Val(InputBox("n="))
s=
s1=0
Fori=1Ton
s1=s1*10+a's1=s1+a*10^(i-1)
s=s+s1
Next
Prints
EndSub
18、求s=a+aa+aaa+…+aaa…aaa(n个a),其中a和n的值由用户自己输入。
例如,当a=3,n=4时,S=3+33+333+3333。
19、在窗体的单击事件中编写程序,要求:
由文本框TEXT1输入一个0到6的数字,单击窗体时,在标签控件LABEL1上显示汉英对照星期信息,如:
输入0,则显示星期日(SUNDAY)、输入1,则显示星期一(MONDAY),以此类推。
如果输入0--6以外的数据,用MsgBox信息框显示“输入数据错误”的提示信息。
PrivateSubForm_Click()
DimdAsInteger
d=Val(Text1.Text)
SelectCased
Case0
Label1.Caption="Sunday"
Case1
Label1.Caption="Monday"
Case2
Label1.Caption="Tuesday"
Case3
Label1.Caption="Wednesday"
Case4
Label1.Caption="Thursday"
Case5
Label1.Caption="Friday"
Case6
Label1.Caption="Saturday"
CaseElse
MsgBox"输入数据错误"
EndSelect
EndSub
20、从键盘输入一个半径,输出圆的面积和周长,输出要求有文字说明,保留两位小数。
PrivateSubForm_Click()
Cls
r=Val(InputBox("r="))
Print"半径为";r;"的圆"
Print"面积为";Round(3.14*r^2,2)
Print"周长为";Round(2*3.14*r)
EndSub
22、编写涨工资的程序。
计算条件是:
基本工资大于或等于1500元的,增加工资20%;若小于1500元大于或等于900元的,增加工资15%;小于900元的,增加工资10%。
要求:
(1)在文本框中输入基本工资值;
(2)在标签上输出增长后的基本工资值;(3)当单击按钮command1时实现上述功能。
PrivateSubCommand1_Click()
gz=Val(Text1.Text)
SelectCasegz
CaseIs>=1500
gz=gz*(1+0.2)
CaseIs>=900
gz=gz*(1+0.15)
CaseElse
gz=gz*(1+0.1)
EndSelect
Label1.Caption=Str(gz)
EndSub
23、公用电话收费标准如下:
通话时间在3分钟之内(包括3分钟),收费0.5元;3分钟以上,则每超过1分钟加收0.15元。
编写一段程序,计算某人通话S分钟,应缴多少电话费。
PrivateSubForm_Click()
Cls
s=Val(InputBox("通话时间"))
Ifs<=3Then
hf=0.5
Else
hf=0.5+Int(s-3)*0.15
EndIf
Print"通话时间为";s;"分种"
Print"应收话费";Format(hf,"0.##");"元"
EndSub
24、编写一个程序,用户连续输入N个值,直到输入非数值数据为止。
最后输出其中最大的一个数。
PrivateSubCommand2_Click()
Cls
max=0
Do
a=InputBox("a=")
Printa;"";
IfNotIsNumeric(a)Then
ExitDo
EndIf
Ifa>maxThenmax=a
Loop
Print
Print"最大数";max
EndSub
25、在窗体的单击事件中编写程序,从键盘上任意输入3个数,输出最小数。
PrivateSubForm_Click()
Cls
a=Val(InputBox("接收三个数:
"))
Printa;
Min=a
Fori=1To2
a=Val(InputBox("接收三个数:
"))
Printa;
IfaNext
Print
Print"三数中最小者是:
";Min
EndSub
26、编写程序,求s的值,s=1×2×3+2×3×4+…+n×(n+1)×(n+2)的值。
n由程序输入。
PrivateSubForm_Click()
Cls
n=Val(InputBox("n="))
s=0
Fori=1Ton
s=s+i*(i+1)*(i+2)
Next
Print"1×2×3+2×3×4+…+";n;"×";n+1;"×";n+2;"=";s
EndSub
27、火车站托运行李,按规定当行李重量不超过50公斤时,每公斤运费0.25元,超过50公斤后,超过部分按每公斤0.40元收费。
输入行李重量W公斤,计算出应付多少运费。
PrivateSubForm_Click()
Cls
w=Val(InputBox("w="))
Ifw<=50Then
yf=w*0.25
Else
yf=50*0.25+(w-50)*0.4
EndIf
Print"行李重量为";w;"公斤"
Print"应付运费:
";Format(yf,"0.00");"元"
EndSub
28、编写程序,交换两个变量当中的数据。
PrivateSubForm_Click()
Cls
a=Val(InputBox("a="))
b=Val(InputBox("b="))
Print"交换前两个数:
";a;b
t=a:
a=b:
b=t
Print"交换后两个数:
";a;b
EndSub
29、设纸的厚度为0.5毫米,将纸对折,再对折…,求至少对折多少次,纸张的厚度能达到珠穆朗玛峰的高度8848米。
PrivateSubForm_Click()
Cls
h=0.5:
cs=0
DoWhileh<8848000
h=h*2
cs=cs+1
Loop
Print"折纸次数为:
";cs
EndSub
30、通过文本框输入一个整数X,判断X是否能被2整除。
判断的结果在标签中显示。
PrivateSubForm_Click()
DimxAsInteger
x=Val(Text1.Text)
IfxMod2=0Then
Label1.Caption=Str(x)+"能被2整除"
Else
Label1.Caption=Str(x)+"不能被2整除"
EndIf
EndSub
31、使用InputBox函数输入华氏温度,要求输出摄氏温度。
公式为:
C=(5/9)*(F-32),输出要有文字说明,取两位小数。
PrivateSubForm_Click()
DimfAsSingle,cAsSingle
f=Val(InputBox("f="))
c=(5/9)*(f-32)
Print"华氏度为:
";f;"摄氏度为:
";Round(c,2)
EndSub
33、在银行存款,计算本利和的公式为:
p1=p(1+r)^n,其中,p为存款数,n为年数,r为年利率,p1为n年后本金
和利息之和。
设p=1000,n=3,r=0.02,编程计算3年后本利和。
要求小数点后两位,四舍五入。
Privatesubform_click()
Dimnasinteger,pasinteger
Dimrassingle,plassingle
P=1000
N=3
R=0.02
Pl=p*(1+r)^n
Pl=int(pl*100+0.5)/100
Print“本利和为;”,pl
Endsub
34、在窗体的单击事件中编写程序,从键盘上任意输入3个数,输出中间数。
36、编写程序,输入一个数,判定该数是否为素数,如果是素数,则输出“该数是素数”的信息,否则输出“该数不是素数”的信息。
PrivateSubForm_Click()
Cls
x=Val(InputBox("x="))
Fori=2Tox-1
IfxModi=0ThenExitFor
Next
Ifi=xThen
Print"该数是素数"
Else
Print"该数不是素数"
EndIf
EndSub
第三章作业
1.
PrivateSubCommand1_Click()
Dimh,m,sAsInteger
h=Val(Text1.Text)
m=Val(Text2.Text)
s=Val(Text3.Text)
x=h*3600+m*60+s
FontSize=14
Print"x=";x
EndSub
2.
PrivateSubCommand1_Click()
Dimxn,yAsSingle
n=InputBox("输入n")
SelectCasen
CaseIs<0
y=3*n+2
CaseIs=0
y=0
CaseIs>0
y=2*n-1
EndSelect
Print"y=";y
EndSub
3.
PrivateSubCommand1_Click()
Dimi,jiangjinAsSingle
i=InputBox("输入利润i")
SelectCasei
CaseIs<5000
jiangjin=i*0.01
CaseIs<10000
jiangjin=5000*0.01+(i-5000)*0.015
CaseIs<20000
jiangjin=5000*0.01+5000*0.015+(i-10000)*0.02
CaseIs<50000
jiangjin=5000*0.01+5000*0.015+10000*0.02+(i-20000)*0.025
CaseIs<100000
jiangjin=5000*0.01+5000*0.015+10000*0.02+30000*0.025+(i-50000)*0.03
CaseElse
jiangjin=5000*0.01+5000*0.015+10000*0.02+30000*0.025+50000*0.03+(i-100000)*0.035
EndSelect
FontSize=16
Print"奖金jiangjin=";jiangjin
EndSub
4.
PrivateSubForm_Click()
StaticdAsInteger
SelectCased
Case0
Form1.Caption="北京市"
d=d+1
Case1
Form1.Caption="上海市"
d=d+1
Case2
Form1.Caption="天津市"
d=d+1
Case3
Form1.Caption="河北省"
d=0
EndSelect
EndSub
5.
PrivateSubCommand1_Click()
DimmaxAsInteger
DoWhileTrue
x=InputBox("输入一个数")
IfNotIsNumeric(x)Then
ExitDo
Else
FontSize=14
Printx;"";
Ifx>maxThen
max=x
EndIf
EndIf
Loop
Print"max=";max;
EndSub
6.
PrivateSubCommand1_Click()
Sum=0
I=1
DoWhileI<=100
Sum=Sum+I
I=I+1
Loop
PrintSum
EndSub
7.
PrivateSubComm