516作坊VB大题

  • 格式:doc
  • 大小:221.50 KB
  • 文档页数:9

1, 随机产生20个数最高低分和平均分 Private Sub Command1_Click() Dim i%, j%, s(2) As Integer, mark(20) As Integer, min%, max%, ave! For i = 1 To 20 mark(i) = Int(Rnd * 101) Print mark(i) Next i min = mark(1): max = mark(1): ave = mark(1) For i = 2 To 20 If mark(i) > max Then max = mark(i) If mark(i) < min Then min = mark(i) ave = ave + mark(i) Next i Print Print "max="; max, "min"; min, "ave="; ave / 20 For i = 1 To 20 j = mark(i) \ 10 Select Case j Case 0 To 5 s(0) = s(0) + 1 Case 6 To 8 s(1) = s(1) + 1 Case 9 To 10 s(2) = s(2) + 1 End Select Next i Print "不及格人数", s(0), "一般", s(1), "优秀人数", s(2) End Sub 2, 改变字体加粗,下划线 ,斜体,粗体,删除线 Private Sub Command1_Click() Dim n@ Text1.Text = InputBox("shuru") End Sub Private Sub Command2_Click(Index As Integer) Select Case Index Case 0 Text1.Text = UCase(Text1.Text) Case 1 Text1.Font.Italic = Not Text1.Font.Italic Case 2 Text1.Font.Bold = Not Text1.Font.Bold Case 3 Text1.Font.Underline = Not Text1.Font.Underline Case 4 Text1.Font.Strikethrough = Not Text1.Font.Strikethrough End Select End Sub 3, 字符串反向显示 Private Sub Command1_Click() Dim str, strRe As String Dim i As Integer str = Text1.Text For i = 1 To Len(str) strRe = Mid(str, i, 1) & strRe Next i Text2.Text = strRe End Sub 4, 求最大公约数 Dim a!,b!,r! A= inputbox(“”) B= inputbox(“”) If A>B then M=a N=b Else M=b N=a Endif Do R=m mod n M=n N=r Loop while r<>0 ? m 5, 水仙花数 A=100 Do while a<=999 I=a mod 10 J=(a mod 100) \10 K=a\100 If i^3+j^3+k^3=a then ?a Endif A=a+1 Loop 6, 两个随机数之和 Private Sub Command1_Click() Dim a%, b%, c% a = Int(91 * Rnd + 10) b = Int(91 * Rnd + 10) c = a + b Print a; "+"; b; "="; c End Sub 7,素数 Private Sub Form_Click() Dim i%, j%, k% Dim flag As Boolean For i = 2 To 10000 flag = True For j = 2 To i - 1 If i Mod j = 0 Then flag = False Next j If flag Then Print i Next i End Sub 8,判断是否为素数 Private Sub Form_click() Dim x%, flag As Boolean, n% x = InputBox("请输入") flag = True n = 2 For i = 2 To x - 1 If x Mod i = 0 Then flag = False Next i If flag Then Print x; "素数" Else Print x; "不是" End If End Sub 9,莲花数 Private Sub Form_Click() Dim a%, b%, c% Dim i% For i = 100 To 999 a = i \ 100 b = i \ 10 Mod 10 c = i Mod 10 If a ^ 3 + b ^ 3 + c ^ 3 = i Then Print i End If Next i End Sub 10,勾股数 Private Sub Command1_Click() Dim a%, b%, c% For a = 1 To 100 For b = 1 To 100 For c = 1 To 100 If a ^ 2 + b ^ 2 = c ^ 2 Then Print a, b, c Next c Next b Next a End Sub 11,调换一个两位数的个位于十位数 Private Sub Command1_Click() Dim x% x = InputBox("shuru") a = Int(x / 10) b = x Mod 10 c = b * 10 + a Print "二位数为"; x; "处理后的数为"; c End Sub 12,5人平均成绩 Private Sub Form_Load() Dim d(5) As Integer Dim i%, total%, average! Show For i = 1 To 5 d(i) = Val(InputBox("")) Next i total = 0 For i = 1 To 5 total = total + d(i) Next i average = total / 10 Print "总分="; total Print "平均分="; Format(average, "##.0") End Sub 13,调换一个3位数 Private Sub Command1_Click() Dim x% x = Val(InputBox("shuru")) a = Int(x / 100) b = (x Mod 100) \ 10 c = x Mod 100 Mod 10 y = 100 * c + 10 * b + a Print y End Sub 14.求3个数的最大值 Private Sub Command1_Click() Dim a%, b%, c% a = Val(InputBox("shuru")) b = Val(InputBox("shuru")) c = Val(InputBox("shuru")) m = a If b > m Then m = b If c > m Then m = c Print a; b; c; "zuidashu"; m End Sub 15.随即排列10个随机数 Dim A(1 To 10) As Integer Private Sub Command1_Click() Dim str1 As String Randomize For i = 1 To 10 A(i) = Int(Rnd * 100) str1 = str1 & A(i) & Space(2) Next i Text1.Text = str1

End Sub Private Sub Command2_Click() For i = 1 To 9 Min = i For j = i + 1 To 10 If A(j) < A(Min) Then Min = j Next j t = A(i): A(i) = A(Min): A(Min) = t Next i Dim str1 As String For i = 1 To 10 str1 = str1 & A(i) & Space(2) Next i Text2.Text = str1 End Sub 16.输入3个数求最大值 Private Sub Command1_Click() Dim a!, b!, c!, max! a = InputBox("请输入第1个数:") b = InputBox("请输入第2个数:") c = InputBox("请输入第3个数:") max = a If b > max Then max = b If c > max Then max = c Print max End Sub

Private Sub Command2_Click() End End Sub 17.倒三角“*”

Private Sub Command1_Click() Dim i%, j%, n% For i = 7 To 1 Step -1 Print Spc(8 - i); For j = 1 To 2 * i - 1 Print "*"; Next j Print Next i End Sub 18..三角形如左图

Private Sub Command1_Click() Dim i%, j%, n% n = InputBox("输入", 0) For i = 1 To 9 Print Spc(10 - i); For j = 1 To 2 * i - 1 Print Chr(48 + i); Next j Print Next i End Sub 19..9*9乘法口诀

Private Sub command1_Click() For i = 1 To 9 For j = 1 To i Print Tab((j - 1) * 9 + 1); i & "*" & j & "=" & i * j; Next j Print Next i End Sub 20.数字三角形如图

Private Sub Command1_Click() For i = 1 To 4 Print Spc(16 - 3 * i); For j = 1 To 2 * i - 1 Print j; Next j Print Next i End Sub 21 .数字三角形如下图