VB编程题 题库.docx
- 文档编号:23355696
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:18
- 大小:65.07KB
VB编程题 题库.docx
《VB编程题 题库.docx》由会员分享,可在线阅读,更多相关《VB编程题 题库.docx(18页珍藏版)》请在冰豆网上搜索。
VB编程题题库
编程题(40题)
1、在文本框Text1中输入一个正整数N,按“计算”命令按钮Command1,产生N个0~100之间的随机整数,计算这N个随机整数的平均数,显示在标签Label1中。
将编写的程序存盘,工程文件名为Ex12nnnn.Vbp,窗体文件名为Ex12nnnn.Frm。
(当N足够大时,该平均值应趋向于50)。
Ex12nnnn.VbpEx12nnnn.Frm
PrivateSubCommand1_Click()
N=Val(Text1.Text)
Sum=0
Fork=1ToN
V=Int(Rnd*101)
Sum=Sum+V
Nextk
Label1.Caption=Sum/N
EndSub
2、在文本框Text1中输入一正整数N,按“计算”命令按钮Command1,计算该数的阶乘N!
,结果显示在标签框Label1中。
按“结束”命令按钮Command2结束程序。
PrivateSubCommand1_Click()PrivateSubCommand2_Click()
N=Val(Text1.Text)End
P=1EndSub
Fork=1ToN
P=P*k
Nextk
Label1=P
EndSub
3、在文本框Text1中输入一个字符串,按“排列”按钮Command1,将输入字符串中每两个相邻的字符之间插入一个空格,结果显示在标签框Label1中。
按“结束”命令按钮Command2结束程序。
PrivateSubCommand1_Click()PrivateSubCommand2_Click()
X=Text1.TextEnd
L=Len(X)EndSub
W=“”
Fork=1ToL-1
V=Mid(X,k,1)
W=W+V+“”
Nextk
W=W+Right(X,1)
Label1.Caption=W
EndSub
4、编写程序,从键盘输入任一x的值,求分段函数的值(可用InputBox函数)。
PrivateSubForm_Click()
DimxAsDouble,yAsDouble
x=Val(InputBox("Inputx"))
Ifx>0Then
y=2*x
ElseIfx<0Then
y=Abs(x)
Else
y=0
EndIf
Printy
EndSub
5、定义一个下界为1,上界为10的整数型一维数组A,将10个随机生成的两位数保存到数组A中,并将数组A各个元素显示在窗体上,然后,找出数组A中所有的偶数输出到窗体上。
(Int(Rnd*90)+10)。
PrivateSubCommand1_Click()
Dima%(1To10)
Fori=1To10
a(i)=Int(Rnd*90+10)
Printa(i);
Nexti
Fori=1To10
Ifa(i)Mod2=0ThenPrinta(i);
Nexti
EndSub
6、定义一个下界为1,上界为10的整数型一维数组A,将10个随机生成的两位数保存到数组A中,并将其在窗体上按从小到大的顺序显示成一行。
(Int(Rnd*90)+10)
PrivateSubCommand1_Click()
Dima%(1To10)
Fori=1To10
a(i)=Int(Rnd*90+10)
Printa(i);
Nexti
Fori=1To9
Forj=i+1To10
Ifa(i)>a(j)Thent=a(i):
a(i)=a(j):
a(j)=t
Nextj
Nexti
Fori=1To10
Printa(i);
Nexti
EndSub
7、 在文本框Text1和Text2中分别输入任意两个正整数M和N,单击命令按钮Command1,使较大的数显示在标签框Label1上,较小的数显示在标签框Label2上。
PrivateCommand1_Click()
DimMAsInteger,NAsInteger
M=Val(Text1.Text):
N=Val(Text2.Text)
IfM>NThen
Label1.Caption=M:
Label2.Caption=N
8、在文本框(Textl)中输入一个字符串,按排列按键(Commandl)将输入的字符串中的字符之间插入一个空格,显示在标签框(Label”中。
按“结束”(Command2)按键结束程序。
PrivateSubCommand1_Click()
a=Text1
x=Len(a)
Fori=1Tox
z=Mid(a,i,1)
Label1=Label1+z+""
Nexti
EndSub
PrivateSubCommand2_Click()
End
EndSub
9、单击窗体Form1,在窗体第一行显示10个[1,50]之间的随机整数,在文本框Text1中显示其最小数。
(提示:
Int(Rnd*50)+1)
PrivateSubCommand1_Click()
Dima%(1To10)
Fori=1To10
a(i)=Int(Rnd*50+1)
Printa(i);
Nexti
Min=a
(1)
Fori=2To10
IfMin>a(i)ThenMin=a(i)
Nexti
Text1=Min
EndSub
10、编一程序,显示所有的水仙花数。
所谓水仙花数,是指一个3位数,其各位数字立方和等于该数字本身。
例如153是水仙花数,因为153=13+53+33。
PrivateSubCommand1_Click()
Fori=100To999
a=iMod10
b=i\10Mod10
c=i\100
Ifi=a^3+b^3+c^3ThenPrinti
Nexti
EndSub
11、先在窗体上添加一个文本框、一个标签和一个命令按钮。
编程实现:
单击命令按钮,使标签和文本框中的内容进行互换。
PrivateSubCommand1_Click()
t=Text1
Text1=Label1
Label1=t
EndSub
12、使用数组实现:
单击窗体,按每行7个数显示斐波那契数列的前20个(0,1,1,2,3,…,4181)。
提示:
an=an-1+an-2
PrivateSubCommand1_Click()
Dima(1To20)
a
(1)=0
a
(2)=1
Printa
(1);a
(2);
Fori=3To20
a(i)=a(i-2)+a(i-1)
Printa(i);
IfiMod7=0ThenPrint
Nexti
EndSub
13、单击窗体,在窗体上显示100到200之间的所有的素数。
PrivateSubCommand1_Click()
Fori=100To200
x=True
Forj=2Toi-1
IfiModj=0Thenx=False
Nextj
Ifx=TrueThenPrinti
Nexti
EndSub
14、单击命令按钮Command1后在窗体Form1上显示以下形状的图形。
AAAAA
BBBBB
AAAAA
BBBBB
A
PrivateSubCommand1_Click()
ForI=1To4
IfIMod2<>0Then
PrintString(4,"A")
Else
PrintString(4,"B")
EndIf
NextI
EndSub
15、在窗体上有一个名称为text1的文本框,一个名称为C1,标题为“校验”的命令按钮。
其中文本框用来输入口令,要求在文本框中输入的内容都必须以“*”显示(通过属性窗口设置)。
要求程序运行后,输入口令,单击命令按钮后,对口令进行校验。
如果输入的内容是“ABC”这3个大写字母,则用MsgBox信息框输出“正确”,否则输出“错误”。
如图所示。
PrivateSubCommand1_Click()
IfText1="ABC"ThenMsgBox("正确")ElseMsgBox("错误")
EndSub
16、在文本框Text1中输入一个任意长度的字符串,单击“逆序排列”命令按钮Command1,将文本框中的字符串按与输入相反的顺序排列,结果显示在标签框Label1中。
PrivateSubCommand1_Click()
a=Text1
x=Len(a)
Fori=xTo1Step-1
z=Mid(a,i,1)
Label1=Label1+z
Nexti
EndSub
17、用InputBox函数输入长方形的长和宽,用MsgBox输出长方形的周长和面积.
PrivateSubCommand1_Click()
a=Val(InputBox("输入长方形的长"))
b=Val(InputBox("输入长方形的宽"))
q=MsgBox("长方形的周长为"+Str(2*(a+b))+"面积为"+Str(a*b))
EndSub
18、打印出3-100的所有素数,并统计个数
PrivateSubCommand1_Click()
Fori=3To100
x=True
Forj=2Toi-1
IfiModj=0Thenx=False
Nextj
Ifx=TrueThenPrinti:
t=t+1
Nexti
Printt
EndSub
19、用输入对话框输入半径R的值,编写单击计算命令按钮事件代码,计算 S=πR2的值和V=4πR3的值,并将结果分别显示在标签框Label1和Label2中。
PrivateSubCommand1_Click()
r=InputBox("请输入半径R=","数据输入框")
s=3.141592*r*r
v=4*s*r
Label1.Caption=s
Label2.Caption=v
EndSub
20、利用inputbox函数输入2个整数,求它们的最大公约数。
PrivateSubForm_Click()
n1=InputBox("输入n")
m1=InputBox("输入m")
Ifm1>n1Then'使得m>n
m=m1:
n=n1
Else
m=n1:
n=m1
EndIf
r=mModn
DoWhiler<>0
m=n
n=r
r=mModn
Loop
Printm1;",";n1;"的最大公约数为";n
EndSub
21、输入3个数,输出其中最大的数。
PrivateSubCommand1_Click()
a=Val(InputBox("输入第一个数"))
b=Val(InputBox("输入第个数"))
c=Val(InputBox("输入第三个数"))
Ifa Ifa Printa EndSub 22、单击命令按钮Command1后在窗体Form1上显示以下形状的图形。 AAAAAAA AAAAA AAA A PrivateSubCommand1_Click() Fori=4To1Step-1 PrintString(2*i-1,"A") Nexti EndSub 23、窗口的下部有3个命令按钮,其中左边按钮中标有“单击”,中间按钮中标有“清屏”,右边按钮中标有“结束”。 当单击鼠标左边按钮时,屏幕上部的文本框中显示“欢迎使用VB6.0”,若单击中间按钮,清除文本框中的内容,若单击右边的按钮,则程序结束。 PrivateSubCommand1_Click() Text1="欢迎使用VB6.0" EndSub PrivateSubCommand2_Click() Text1="" EndSub PrivateSubCommand3_Click() End EndSub 24、利用标签和计时器设计电子钟。 PrivateSubForm_Load() Timer1.Interval=1000 EndSub PrivateSubTimer1_Timer() Label1=Time EndSub 25、用InputBox输入球体的半径,然后计算球体的体积。 PrivateSubCommand1_Click() r=InputBox("请输入r") v=4*3.14*r^3/3 Print"v=";v EndSub 26、利用For循环,在文本框中显示1—100之间能被4整除的整数。 PrivateSubCommand1_Click() Fori=1To100 IfiMod4=0ThenText1=Text1+Str(i) Nexti EndSub 27、编程求解表达式1! +2! +3! +…+n! 的和,n(n>1)由键盘输入,最后输出结果。 PrivateSubCommand1_Click() n=Val(InputBox("n")) x=1 Fori=1Ton x=x*i s=s+x Nexti Prints EndSub 28、编写一个计算三角形面积的Function过程,然后调用该过程计算一个不规则五边形的面积。 FunctionArea(x! y! z! )AsSingle Dimc! c=(x+y+z)/2 Area=Sqr(c*(c-x)*(c-y)*(c-z)) EndFunction SubForm_Click() Dima! b! c! d! e! f! g! s1! s2! s3! a=InputBox("输入a"): b=InputBox("输入b"): c=InputBox("输入c") d=InputBox("输入d"): e=InputBox("输入e"): f=InputBox("输入f") g=InputBox("输入g") s1=Area(a,b,c) s2=Area(c,d,e) s3=Area(e,f,g) MsgBox("多边形面积="&s1+s2+s3) EndSub 29、设计一个程序,窗体如图所示,要求在“输入数据”框中输入一个数字。 当单击“计算”命令按钮时,将输入的数据乘8后显示在另一个标签中;单击“退出”命令按钮时,结束程序运行。 PrivateSubCommand1_Click() Label1=Val(Text1)*8 EndSub PrivateSubCommand2_Click() End EndSub 30、设计两个变量交换值的程序 PrivateSubCommand1_Click() X=Val(Text1) Y=Val(Text2) TE=X: X=Y: Y=TE Text3=X Text4=Y EndSub 31、从键盘输入一维数组a(29)(共30个元素),编写程序求这30个数的最大数,以及这个数的数组下标。 PrivateSubCommand1_Click() DimA(1To30) ForI=1To30 A(I)=Int(Rnd*90+10) NextI Max=A (1) ForI=2To30 IfA(I)>MaxThenMax=A(I): X=I NextI PrintMax,X EndSub 32、在窗体上随机打印100个小写的英文字母(a的ascii码为97)。 Fori=1To100 PrintChr(Int(Rnd*26+97)); Nexti 33、编写程序,在文本框中任意输入一个字符,在窗体上输出该字符的Ascii码。 PrivateSubCommand1_Click() a=Text1 PrintAsc(a) EndSub 34求1到100之间所有能被3整除而不能被7整除的整数的和与个数。 PrivateSubCommand1_Click() Fori=1To100 IfiMod3=0AndiMod7<>0ThenPrinti Nexti EndSub 35、在窗体上的4个文本框中各输入一个整数值,然后单击命令按纽,即可求出的最大值,并在窗体显示出来,如图所示。 PrivateSubCommand1_Click() a=Text1: b=Text2: c=Text3: d=Text4 Ifa Ifa Ifa Print"最大值是: ";a EndSub 36、在文本框Text1和Text2中分别输入任意两个正整数M和N,单击命令按钮Command1,使Text1中显示较大的数,Text2中显示较小的数。 请写出命令按钮Command1的事件过程代码。 PrivateSubCommand1_Click() DimmAsInteger,nAsInteger m=Val(Text1.Text) n=Val(Text2.Text) Ifm Text1.Text=Str(n) Text2.Text=Str(m) EndIf EndSub 37、在窗体上画一个图片框Picture1,运行时,按下鼠标左键,在图片框中心画一个半径为500,颜色为红色的圆;按下鼠标右键,在图片框中心画一个半径为600,颜色为黑色的圆。 (提示: 按下鼠标左键时,Button=1,按下鼠标右键时,Button=2,QBColor(0)为黑色,QBColor(4)为红色)。 PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle) X=Picture1.Height/2 Y=Picture1.Width/2 ifbutton=1then Picture1.Circle(X,Y),500,QBColor(4) Endif ifbutton=2then Picture1.Circle(X,Y),600,QBColor(0) endif EndSub 38、运行程序时,单击命令按钮Command1,用InputBox函数从键盘输入任意10个实数,在标签控件Label1和Label2上分别显示这10个数的总和及平均值。 PrivateSubCommand1_Click() DimsumAsSingle,averageAsSingle DimaAsSingle sum=0 Fori=1To10 a=Val(InputBox("输入10个实数: ")) sum=sum+a Nexti average=sum/10 Label1.Caption=sum Label2.Caption=average EndSub 39、单击窗体,找出100~200之间所有能被5整除的整数,并显示在窗体上。 PrivateSubForm_Click() DimiAsInteger Fori=100To200 IfiMod5=0Then Printi EndIf Nexti EndSub 40、定义一个包含10个元素的一维数组来存储10个随机的两位整数,单击命令按钮(Command1)把它们按顺序输出到窗体上。 请写出命令按钮的单击事件过程代码。 PrivateSubCommand1_Click() Dima(9)AsInteger DimiAsInteger Fori=0To9 a(i)=Int(Rnd*90+10) Printa(i) Nexti EndSub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB编程题 题库 VB 编程