VB编程题(附答案)汇总

  • 格式:doc
  • 大小:79.50 KB
  • 文档页数:11

Vb编程题

1. 求自然数1~100之间奇数之和。

Private Sub Form_Click()

Dim i%, sum%

For i = 1 To 99 Step 2

sum = sum + i

Next i

Print "sum="; sum

End Sub

2. 求自然数1~100之间偶数之和。

Private Sub Form_Click()

Dim i%, sum%

For i = 1 To 100

If i mod 2=0 then

sum = sum + i

end if

Next i

Print "sum="; sum

End Sub

3. 编写程序,在窗体上随机输出一个10--99之间的两位整数。

Sub command1_click()

Dim a%

Randomize

a=int(rnd*90+10)

print a

end sub

4. 编程计算从200到1000之间的所有4的倍数之和。

Private Sub Form_Click()

Dim sum As Long

sum = 0

For i = 200 To 1000

If i Mod 4 = 0 Then

sum = sum + i

End If

Next i

Print sum

End Sub

5. 编写程序在窗体上显示出:5/6+4/5+3/4+2/3+1/2

Dim s As Single

s = 0

For i = 5 To 1 Step -1

s = s + i / (i + 1)

Next Print “5/6+4/5+3/4+2/3+1/2=”;s

6. 在窗体的单击事件中编写程序,从键盘上任意输入3个数,输出最大数。

Private Sub Command2_Click()

Cls

a = Val(InputBox("接收三个数:"))

Print a;

Max = a

For i = 1 To 2

a = Val(InputBox("接收三个数:"))

Print a;

If a > Max Then Max = a

Next

Print

Print "三数中最大者是:"; Max

End Sub

7. 在窗体的单击事件中编写程序,从键盘上任意输入3个数,输出中间数。

Private Sub Command2_Click()

Dim a(1 To 3) As Integer

For i = 1 To 3

a(i) = InputBox("请输入第" & i & "个数")

Next i

For i = 1 To 2

For j = i + 1 To 3

If a(i) < a(j) Then

t = a(i)

a(i) = a(j)

a(j) = t

End If

Next j

Next i

Print a(2)

End Sub

8.编写程序,通过InputBox函数从键盘上输入4个数,计算并在窗体上显示这4

个数的和及平均值。

Private Sub Command2_Click()

Dim a(1 To 4) As Integer

Dim sum As Integer, aver As Single

For i = 1 To 4

a(i) = Val(InputBox("请输入第" & i & "个数"))

sum = sum + a(i)

Print Str(a(i))

Next i

aver = sum / 4

Print "和:"; sum Print "平均值:"; aver

End Sub

9.在窗体的单击事件过程中,编写程序计算1!+2!+3!+ … +20!

Private Sub Form_Click()

cls

Sum = 0

x = 1

For i = 1 To 15

x = x * i

Sum = Sum + x

Next

Print "1!+2!+...+15!="; Sum

End Sub

10.输入x,计算y的值。其中:y=1+3x (x>=0); y=1-5x (x<0)。

Private Sub Command1_Click()

Dim x!, y!

x = InputBox("请输入x的值")

If x < 0 Then

y = 1 - 5 * x

Else

y = 1 + 3 * x

End If

Print "y="; y

End Sub

11.编写程序,在窗体上输出由1、2、3、4、5这五个数字组成的所有可能的两位数,并统计它们的个数。

Private Sub Command1_Click()

Dim a%, n%

For i = 1 To 5

For j = 1 To 5

a = i * 10 + j

n = n + 1

Print Str(a)

Next j

Next i

Print "总个数:"; n

End Sub

12.有一个窗体,窗体中有一个文本框,名称为Text1,有一个按钮,试编写按钮的单击事件,实现计算1!+2!+3!+…+10!,将结果显示在文本框Text1中。

Private Sub Command1_Click()

Sum = 0

x = 1

For i = 1 To 10

x = x * i Sum = Sum + x

Next

Text1.text= Sum

End Sub

13.编写程序计算:s=1+1/2!+1/3!+…+1/n!,说明:在窗体中有一个文本框控件:Text1,用来接收n的值,有一个标签控件:Label1,用来显示S的值,试编写窗体的单击事件,实现计算与显示功能,只要求写出事件的主要代码,事件过程的起始语句和结束语句可略去。

Private Sub Command1_Click()

Sum = 0

x = 1

n=Text1.text

For i = 1 To n

x = x * i

Sum = Sum + x

Next

Text1.text= Sum

End Sub

14.通过文本框输入一个整数X,判断X是否能被2整除。判断的结果在标签中显示。

Private Sub Command1_Click()

x = Val(Text1.Text)

If x Mod 2 = 0 Then

Label1.Caption = x & "能被2 整除"

Else

Label1.Caption = x & "不能被2 整除"

End If

End Sub

15.编写程序, 点击命令按钮Command1时,两个文本框text1与text2中的内容进行交换。

Private Sub Command1_Click()

Dim a As String

a = Text1.Text

Text1.Text = Text2.Text

Text2.Text = a

End Sub

16.求s=a+aa+aaa+…+aaa…aaa(n个a),其中a和n的值由用户自己输入。例如,当a=3,n=4时,S=3+33+333+3333。

Private Sub Form_Click()

Cls

a = Val(InputBox("a="))

n = Val(InputBox("n="))

s = 0

s1 = 0 For i = 1 To n

s1 = s1 * 10 + a ' s1 = s1 + a * 10 ^ (i - 1)

s = s + s1

Next

Print s

End Sub

17.在窗体上输出下三角的九九乘法表。

Private Sub Form_Click()

Cls

For i = 1 To 9

For J = 1 To i

Print i; "*"; J; "="; Format(Str(i * J), "!@@");

Next

Print

Next

End Sub

18.编写程序,将26个字母逆序输出。

Private Sub Command1_Click()

Dim n%, m%

n = Asc("a")

For i = 1 To 26

m = n + 26 - i

Print Chr(m)

Next i

End Sub

19.编写程序,将字符串"山高人为峰"按逆序"峰为人高山"输出。

Private Sub Command1_Click()

Cls

s = "山高人为峰"

s1 = ""

For i = Len(s) To 1 Step -1

s1 = s1 & Mid(s, i, 1)

Next

Print s1

End Sub

20.编写程序,在窗体上随机输出一个10--99之间的两位整数。

同第3题

21.设纸的厚度为0.5毫米,将纸对折,再对折…,求至少对折多少次,纸张的厚度能达到珠穆朗玛峰的高度8848米。

Private Sub Form_Click()

Cls

h = 0.5: cs = 0

Do While h < 8848000

h = h * 2