您的当前位置:首页VB-编程题(1)

VB-编程题(1)

2023-03-05 来源:爱问旅游网
编程题(40题) 1、在文本框Text1中输入一个正整数N,按“计算”命令按钮Command1,产生N个0 ~ 100之间的随机整数,计算这N个随机整数的平均数,显示在标签Label1中。

将编写的程序存盘,工程文件名为Ex12nnnn.Vbp,窗体文件名为Ex12nnnn.Frm。 (当N足够大时,该平均值应趋向于50)。 Ex12nnnn.Vbp Ex12nnnn.Frm Private Sub Command1_Click ( ) N = Val (Text1.Text) Sum = 0 For k = 1 To N V = Int ( Rnd * 101 ) Sum = Sum + V Next k

Label1.Caption = Sum / N End Sub

2、在文本框Text1中输入一正整数N,按“计算”命令按钮Command1,计算该数的阶乘N!,结果显示在标签框Label1中。按“结束”命令按钮Command2 结束程序。 Private Sub Command1_Click() Private Sub Command2_Click() N = Val (Text1.Text) End

P = 1 End Sub For k = 1 To N P = P * k Next k Label1= P

End Sub

3、 在文本框 Text1中输入一个字符串,按“排列”按钮 Command1, 将输入字符串中每

两个相邻的字符之间插入一个空格,结果显示在标签框Label1 中。按“结束”命令按钮Command2结束程序。

Private Sub Command1_Click() Private Sub Command2_Click() X = Text1.Text End L = Len (X) End Sub W = “”

For k = 1 To L-1 V = Mid (X, k, 1) W = W + V + “ ”

Next k

W = W + Right (X,1) Label1.Caption = W End Sub

4、编写程序,从键盘输入任一x的值,求分段函数的值(可用InputBox函数)。

2xY0xx0x0 x0Private Sub Form_Click()

Dim x As Double, y As Double x = Val(InputBox(\"Input x \")) If x > 0 Then y = 2 * x

ElseIf x < 0 Then y = Abs(x) Else y = 0 End If Print y End Sub

5、定义一个下界为1,上界为10的整数型一维数组A,将10个随机生成的两位数保存到数组A中,并将数组A各个元素显示在窗体上,然后,找出数组A中所有的偶数输出到窗体上。( Int(Rnd*90)+10 )。 Private Sub Command1_Click() Dim a%(1 To 10) For i = 1 To 10

a(i) = Int(Rnd * 90 + 10) Print a(i); Next i Print

For i = 1 To 10

If a(i) Mod 2 = 0 Then Print a(i); Next i End Sub

6、定义一个下界为1,上界为10的整数型一维数组A,将10个随机生成的两位数保存到数组A中,并将其在窗体上按从小到大的顺序显示成一行。( Int(Rnd*90)+10 ) Private Sub Command1_Click() Dim a%(1 To 10) For i = 1 To 10

a(i) = Int(Rnd * 90 + 10) Print a(i); Next i Print

For i = 1 To 9 For j = i + 1 To 10

If a(i) > a(j) Then t = a(i): a(i) = a(j): a(j) = t Next j Next i

For i = 1 To 10

Print a(i); Next i End Sub 7、 在文本框Text1和Text2中分别输入任意两个正整数M和N,单击命令按钮Command1,使较大的数显示在标签框Label1上 ,较小的数显示在标签框Label2上。

Private Command1_Click( ) Dim M As Integer,N As Integer

M=Val(Text1.Text):N=Val(Text2.Text) If M>N Then

Label1.Caption=M: Label2.Caption=N

8、在文本框(Textl)中输入一个字符串,按排列按键(Commandl)将输入的字符串中的字符之间插入一个空格,显示在标签框(Label”中。按“结束”(Command2)按键结束程序。

Private Sub Command1_Click() a = Text1 x = Len(a) For i = 1 To x z = Mid(a, i, 1)

Label1 = Label1 + z + \" \" Next i End Sub

Private Sub Command2_Click() End End Sub

9、单击窗体Form1,在窗体第一行显示10个[1,50]之间的随机整数,在文本框Text1中显示其最小数。(提示:Int(Rnd*50)+1 ) Private Sub Command1_Click() Dim a%(1 To 10) For i = 1 To 10

a(i) = Int(Rnd * 50 + 1) Print a(i); Next i Min = a(1) For i = 2 To 10

If Min > a(i) Then Min = a(i) Next i

Text1 = Min End Sub

10、编一程序,显示所有的水仙花数。所谓水仙花数,是指一个3位数,其各位数字立方和等于该数字本身。例如153是水仙花数,因为153=13+53+33。

Private Sub Command1_Click() For i = 100 To 999 a = i Mod 10 b = i \\ 10 Mod 10 c = i \\ 100

If i = a ^ 3 + b ^ 3 + c ^ 3 Then Print i Next i End Sub

11、先在窗体上添加一个文本框、一个标签和一个命令按钮。编程实现:单击命令按钮,使标签和文本框中的内容进行互换。 Private Sub Command1_Click() t = Text1

Text1 = Label1 Label1 = t End Sub 12、使用数组实现:单击窗体,按每行7个数显示斐波那契数列的前20个(0,1,1,2,3,…,4181)。提示:an=an-1+an-2 Private Sub Command1_Click() Dim a(1 To 20) a(1) = 0 a(2) = 1

Print a(1); a(2); For i = 3 To 20

a(i) = a(i - 2) + a(i - 1) Print a(i);

If i Mod 7 = 0 Then Print Next i End Sub

13、单击窗体,在窗体上显示100到200之间的所有的素数。 Private Sub Command1_Click() For i = 100 To 200 x = True

For j = 2 To i - 1

If i Mod j = 0 Then x = False Next j

If x = True Then Print i Next i End Sub

14、单击命令按钮Command1后在窗体Form1上显示以下形状的图形。

Private Sub Command1_Click() For I = 1 To 4

If I Mod 2 <> 0 Then Print String(4, \"A\") Else

AAAAA BBBBB AAAAA BBBBB A Print String(4, \"B\") End If Next I End Sub

15、在窗体上有一个名称为text1的文本框,一个名称为C1,标题为“校验”的命令按钮。其中文本框用来输入口令,要求在文本框中输入的内容都必须以“*”显示(通过属性窗口设置)。要求程序运行后,输入口令,单击命令按钮后,对口令进行校验。如果输入的内容是“ABC”这3个大写字母,则用MsgBox信息框输出“正确”,否则输出“错误”。如图所示。

Private Sub Command1_Click()

If Text1 = \"ABC\" Then MsgBox (\"正确\") Else MsgBox (\"错误\") End Sub

16、在文本框Text1中输入一个任意长度的字符串,单击“逆序排列”命令按钮Command1,将文本框中的字符串按与输入相反的顺序排列,结果显示在标签框Label1中。

Private Sub Command1_Click() a = Text1 x = Len(a)

For i = x To 1 Step -1 z = Mid(a, i, 1)

Label1 = Label1 + z Next i End Sub

17、用InputBox 函数输入长方形的长和宽,用MsgBox输出长方形的周长和面积. Private Sub Command1_Click()

a = Val(InputBox(\"输入长方形的长\")) b = Val(InputBox(\"输入长方形的宽\"))

q = MsgBox(\"长方形的周长为\" + Str(2 * (a + b)) + \"面积为\" + Str(a * b)) End Sub

18、打印出3-100的所有素数,并统计个数 Private Sub Command1_Click() For i = 3 To 100 x = True

For j = 2 To i - 1

If i Mod j = 0 Then x = False Next j

If x = True Then Print i: t = t + 1 Next i Print t

End Sub

19、用输入对话框输入半径R的值,编写单击计算命令按钮事件代码,计算 S= π

3

的值和V= 4 π R的值,并将结果分别显示在标签框Label1和Label2中。 Private Sub Command1_Click()

r = InputBox(\"请输入半径R=\数据输入框\") s = 3.141592 * r * r v = 4 * s * r

Label1.Caption = s Label2.Caption = v End Sub

20、利用inputbox函数输入2个整数,求它们的最大公约数。 Private Sub Form_Click() n1 = InputBox(\"输入n\") m1 = InputBox(\"输入m\")

If m1 > n1 Then ' 使得 m>n m = m1: n = n1 Else

m = n1: n = m1 End If

r = m Mod n Do While r <> 0 m = n n = r

r = m Mod n Loop

Print m1; \的最大公约数为\"; n End Sub

21、 输入3个数,输出其中最大的数。 Private Sub Command1_Click() a = Val(InputBox(\"输入第一个数\")) b = Val(InputBox(\"输入第个数\")) c = Val(InputBox(\"输入第三个数\")) If a < b Then a = b If a < c Then a = c Print a End Sub

22、单击命令按钮Command1后在窗体Form1上显示以下形状的图形。

R2

AAAAAAA

AAAAA Private Sub Command1_Click() AAA For i = 4 To 1 Step -1 A Print String(2 * i - 1, \"A\") Next i End Sub

23、窗口的下部有3个命令按钮,其中左边按钮中标有“单击”,中间按钮中标有“清屏”,右边按钮中标有“结束”。当单击鼠标左边按钮时,屏幕上部的文本框中显示“欢迎使用VB6.0”,若单击中间按钮,清除文本框中的内容,若单击右边的按钮,则程序结束。 Private Sub Command1_Click() Text1 = \"欢迎使用VB6.0\" End Sub

Private Sub Command2_Click() Text1 = \"\" End Sub

Private Sub Command3_Click() End End Sub

24、利用标签和计时器设计电子钟。 Private Sub Form_Load() Timer1.Interval = 1000 End Sub

Private Sub Timer1_Timer() Label1 = Time End Sub

25、 用InputBox输入球体的半径,然后计算球体的体积。 Private Sub Command1_Click() r = InputBox(\"请输入r\") v = 4 * 3.14 * r ^ 3 / 3 Print \"v=\"; v End Sub

26、利用For循环,在文本框中显示1—100之间能被4整除的整数。 Private Sub Command1_Click() For i = 1 To 100

If i Mod 4 = 0 Then Text1 = Text1 + Str(i) Next i End Sub

27、编程求解表达式1!+2!+3!+ … +n!的和,n(n>1)由键盘输入,最后输出结果。 Private Sub Command1_Click() n = Val(InputBox(\"n\")) x = 1

For i = 1 To n x = x * i s = s + x Next i Print s

End Sub

28、 编写一个计算三角形面积的Function过程,然后调用该过程计算一个不规则五边形的面积。

Function Area(x!, y!, z!) As Single Dim c!

c = (x + y + z) / 2

Area = Sqr(c * (c - x) * (c - y) * (c - z)) End Function

Sub Form_Click()

Dim a!, 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) End Sub

29、设计一个程序,窗体如图所示,要求在“输入数据”框中输入一个数字。当单击“计算”命令按钮时,将输入的数据乘8后显示在另一个标签中;单击“退出”命令按钮时,结束程序运行。

Private Sub Command1_Click() Label1 = Val(Text1) * 8 End Sub

Private Sub Command2_Click() End End Sub

30、设计两个变量交换值的程序

Private Sub Command1_Click() X = Val(Text1) Y = Val(Text2)

TE = X: X = Y: Y = TE Text3 = X Text4 = Y End Sub

31、从键盘输入一维数组a(29)(共30个元素),编写程序求这30个数的最大数,以及这个数的数组下标。

Private Sub Command1_Click() Dim A(1 To 30) For I = 1 To 30

A(I) = Int(Rnd * 90 + 10) Next I

Max = A(1) For I = 2 To 30

If A(I) > Max Then Max = A(I): X = I Next I

Print Max, X End Sub

32、在窗体上随机打印100个小写的英文字母(a的ascii码为97)。 For i = 1 To 100

Print Chr(Int(Rnd * 26 + 97)); Next i

33、编写程序,在文本框中任意输入一个字符,在窗体上输出该字符的Ascii码。 Private Sub Command1_Click() a = Text1 Print Asc(a) End Sub

34 求1到100之间所有能被3整除而不能被7整除的整数的和与个数。 Private Sub Command1_Click() For i = 1 To 100

If i Mod 3 = 0 And i Mod 7 <> 0 Then Print i Next i End Sub

35、在窗体上的4个文本框中各输入一个整数值,然后单击命令按纽,即可求出的最大值,并在窗体显示出来,如图所示。

Private Sub Command1_Click()

a = Text1: b = Text2: c = Text3: d = Text4 If a < b Then a = b If a < c Then a = c If a < d Then a = d Print \"最大值是:\"; a End Sub

36、在文本框Text1和Text2中分别输入任意两个正整数M和N,单击命令按钮Command1,使Text1中显示较大的数,Text2中显示较小的数。请写出命令按钮Command1的事件过程代码。

Private Sub Command1_Click() Dim m As Integer, n As Integer m = Val(Text1.Text) n = Val(Text2.Text) If m < n Then

Text1.Text = Str(n) Text2.Text = Str(m) End If End Sub

37、在窗体上画一个图片框Picture1,运行时,按下鼠标左键,在图片框中心画一个半径为500,颜色为红色的圆;按下鼠标右键,在图片框中心画一个半径为600,颜色为黑色的圆。(提示:按下鼠标左键时,Button=1,按下鼠标右键时,Button=2,QBColor(0)为黑色,QBColor(4)为红色)。

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

X = Picture1.Height / 2 Y = Picture1.Width / 2 if button=1 then

Picture1.Circle (X, Y), 500, QBColor(4)

Endif

if button=2 then

Picture1.Circle (X, Y), 600, QBColor(0)

endif

End Sub

38、运行程序时,单击命令按钮Command1,用InputBox函数从键盘输入任意10

个实数,在标签控件Label1和Label2上分别显示这10个数的总和及平均值。

Private Sub Command1_Click()

Dim sum As Single, average As Single Dim a As Single sum = 0

For i = 1 To 10

a = Val(InputBox(\"输入10个实数:\")) sum = sum + a Next i

average = sum / 10 Label1.Caption = sum Label2.Caption = average End Sub

39、单击窗体,找出100~200之间所有能被5整除的整数,并显示在窗体上。 Private Sub Form_Click() Dim i As Integer For i = 100 To 200

If i Mod 5 = 0 Then Print i End If Next i End Sub

40、定义一个包含10个元素的一维数组来存储10个随机的两位整数,单击命令按钮(Command1)把它们按顺序输出到窗体上。请写出命令按钮的单击事件过程代码。 Private Sub Command1_Click() Dim a(9) As Integer Dim i As Integer For i = 0 To 9

a(i) = Int(Rnd * 90 + 10) Print a(i) Next i End Sub

因篇幅问题不能全部显示,请点此查看更多更全内容