vb编程题
1.编程计算:S = 1 + 1/2 + 1/3 +……..+ 1/n ,要求最后一项不小于 0.0001。
Private Sub Button1—Click(……)Handles Button1.Click Dim i As Integer Dim s As Single i = 0 s = 0 Do i = i+1 s = s+1/i Loop White 1/i >= 0.0001 Label1.text = "1 + 1/2 +1/3 +……+ 1/n 的值为:" + Format(s, " #.####")End Sub 2.利用循环结构和 Mid 函数将用户输入的字符串倒序输出。
Private Sub Button1—Click(……)Handles Button1.Click Dim a$, i%, c%, n% a = InputBox("请输入字符串")n = Len(a)For i = 1 To n/2 c = Mid(a, i, 1)Mid(a, i, 1)= Mid(a, n-i+1, 1)Mid(a, n-i+1, 1)= c Next i MsgBox(a)End Sub 3.编程求分段函数的值。
Private Sub Button1—Click(……)Handles Button1.Click Dim x , y As Single x= TextBox1.text If x <= 1 Then y = x ElseIf x >1 And x < 10 Then y = 3*x – 2 Else y = Math.Sqrt(4*x – 1)End If TextBox2.text = y End Sub 4.编程一个函数,返回整型数组中的最大值。
Function Max1(b()As Integer)As Integer Dim Max% , i%
Max = b(0)For i = 1 To Ubound(b)If Max < b(i)Then Max = b(i)End If Next i Max1 = Max End Function Private Sub Button1—Click(……)Handles Button1.Click Dim x(10)As Integer Dim i% For i = 0 To 10 x(i)= Int(Rnd()* 90 + 10)Label1.Text &= x(i)& " " Next MsgBox(" 数组中最大值是:" & Max1(x))End Sub 5.编程判断用户输入的一个数是否为素数。
Private Sub Button1—Click(……)Handles Button1.Click Dim n, i As Ingeter Dim flag As Boolean n = TextBox1.text flag = true i = 2 Do White i <= Math.Sqrt(n)If n Mod i = 0 Then Flag = false Eixt Do End If i = i + 1 Loop If flag Then Label1.text = Str(n)+ " 是素数 " Else Label1.text = Str(n)+ "不是素数 " End If End Sub 6.随机生成 10 个两位整数,按升序输出。
Public Class Form1 Dim a(10)As Integer Private Sub Button1—Click(……)Handles Button1.Click Dim i% TextBox1.text =" " For i = 1 To 10
a(i)= InputBox("请输入第"& i &" 个数:","输入十个数")Textbox1.text &= a(i)&" " Next i End Sub Private Sub Button2—Click(……)Handles Button2.Click Dim i%,j%,p%,s% For i = 1 To 10-1 p = i For j = i+1 To 10 If a(j)< a(p)Then p = j Next j s=a(i)a(i)=a(p)a(p)=s Next i TextBox2.text =" " For i = 1 To 10 TextBox2.text &= a(i)& " " Next i End Sub End Class 7.编程随机生成 50 个[0,100]的整数分别求出奇数之和与偶数之和。
Dim x, n , i As Integer Private Sub Command1_Click()Randomize Timer For i = 1 To 50 x = Int(Rnd()* 90 + 10)If x Mod 2 = 0 Then m = m + x Else n = n + x End If Next Print "偶数和:";Str(m)Print "奇数和:";Str(n)End Sub 8.编程求出水仙花数。
Private Sub Form1-Click(……)Handles Me.Click Dim s, n, a, b, c As integer For n = 100 to 999 a = n mod 10
b=(n10)mod 10 c=n 100 If a*a*a+b*b*b+c*c*c=n then s = n Next n TextBox1.text = s End Sub 9.随机生成 10 个两位数,求出最大值和最小值。
Dim a%(9)Private Sub Form1_Click()Randomize Print "原数列" For i = 0 To 9 a(i)= Int(Rnd * 11 + 10)Print a(i);Next Max = a(0): Min = a(0)For i = 1 To 9 If Max < a(i)Then Max = a(i)If Min > a(i)Then Min = a(i)Next Print Print "最大值:";Max;" 最小值:";Min End Sub 10.随机生成 100 个三位整数,求出同被 5 和 7 整除的个数。
Private Sub Button1—Click(……)Handles Button1.Click Dim a(100)As Integer Dim i As Integer a(i)= Int(Rnd*900+100)For i=0 To 99 a(i)= InputBox("请输入第"& i & "个数:","输入 100 个数")Next i If a(i)Mod 5 and a(i)Mod 7 = 0 Then a(i)= a(i)+ 1 End If TextBox1.text = a(i)End Sub
