1、求半径为r的圆的面积,要求用户从键盘输入半r。
程序代码:Private Sub Form_click()Const PI = 3.14Dim r%Dim s!r = InputBox("请输入半径r的值:", "求圆的面积") s = PI * r * rForm1.FontSize = 16Print "半径是" + Str(r) + "的圆的面积是" + Str(s) End Sub2、输入三个整数,从小到大顺序输出。
程序代码:Private Sub Form_click()a = InputBox("a")b = InputBox("b")c = InputBox("c")Print "排序前:"; a, b, cIf a > b Then t = a: a = b: b = tIf a > c Then t = a: a = c: c = tIf b > c Then t = b: b = c: c = tPrint "排序后:"; a, b, cEnd Sub3、输入三个整数,从大到小顺序输出。
程序代码:Private Sub Form_click()a = InputBox("a")b = InputBox("b")c = InputBox("c")Print "排序前:"; a, b, cIf a <b Then t = a: a = b: b = tIf a < c Then t = a: a = c: c = tIf b < c Then t = b: b = c: c = tPrint "排序后:"; a, b, cEnd Sub4、输入x的值,输出对应的值。
y=10+2x(0<x≦10)50-x(10<x≦20)30(20<x≦30)60-x(30<x≦40)程序代码:(一)、Private Sub Command1_Click()Dim x As Integer, y As Integerx = Val(Text1.Text)If x > 0 And x <= 10 Theny = 10 + 2 * xMsgBox "x=" & x & "y=" & yElseIf x <= 20 Theny = 50 - xMsgBox "x=" & x & "y=" & yElseIf x <= 30 Theny = 30MsgBox "x=" & x & "y=" & yElseIf x <= 40 Theny = 60 - xMsgBox "x=" & x & "y=" & yElseMsgBox "x=" & x & "不在统计数据的范围内"End IfEnd Sub(二)、Private Sub Command1_Click()Dim x%, y%x = InputBox("x")Select Case xCase Is <= 10y = 10 + 2 * xCase Is <= 20y = 50 - xCase Is <= 30y = 30Case Is <= 40y = 60 - xCase ElseMsgBox "输入不合法"End SelectPrint "x="; x, "y="; yEnd Sub5、编写一个程序,输出给定的某年某月的天数。
程序代码:Private Sub Command1_Click()Dim year As Integer, month As Integer, day As Integer year = CInt(Text1.Text)month = CInt(Text2.Text)Select Case monthCase 1, 3, 5, 7, 8, 10, 12day = 31Case 4, 6, 9, 11day = 30Case 2If year Mod 4 = 0 And year Mod 100 <> 0 Or year Mod 400 = 0 Then day = 29Elseday = 28End IfCase Elseday = 0End SelectIf day <> 0 ThenMsgBox year & "年" & month & "月有" & day & "天"ElseMsgBox "输入的月份不符合实际!"End IfEnd Sub6、求S=1+2+3+....+100的累加和。
程序代码:(一)、For….Next循环Private Sub Command1_Click()Dim i%, s%s = 0For i = 1 To 100s = s + iNext iPrint "s="; sEnd Sub(二)、Do While…Loop循环Private Sub Command1_Click()Dim i%, s%s = 0: i = 1Do While i <= 100s = s + ii = i + 1LoopPrint "s="; sEnd Sub(三)、Do Until….LoopPrivate Sub Command1_Click()Dim i%, s%s = 0: i = 1Do Until i > 100s = s + ii = i + 1LoopPrint "s="; sEnd Sub7、接6,如果累加达到1000时马上终止循环,同时输出此时循环变量i的值。
程序代码:(一)、Private Sub Command1_Click()Dim i%, s%s = 0For i = 1 To 100s = s + iIf s >= 1000 Then Exit ForNext iPrint "s="; s, "i="; iEnd Sub(二)、Private Sub Command1_Click()Dim i%, s%s = 0: i = 0While s < 1000i = i + 1s = s + iWendPrint "s="; s, "i="; iEnd Sub(三)、Private Sub Command1_Click()Dim i%, s%s = 0: i = 1While s < 1000s = s + ii = i + 1WendPrint "s="; s, "i="; i - 1End Sub8、任意俩个正整数,使用欧几里得算法(即辗转相除法)求它们的最大公约数。
程序代码:(一)、While…..Wend循环Private Sub Command1_Click()Dim M%, N%, R%M = Val(InputBox("请输入一个数M:", "求最大公约数"))N = Val(InputBox("请输入一个数N:", "求最大公约数"))R = M Mod NWhile R <> 0M = NN = RR = M Mod NWendPrint "它们的最大公约数是:"; NEnd Sub(二)、Do…..Loop循环Private Sub Command1_Click()Dim M%, N%, R%M = Val(InputBox("请输入一个数M:", "求最大公约数"))N = Val(InputBox("请输入一个数N:", "求最大公约数"))R = M Mod NDo While R <> 0M = NN = RR = M Mod NLoopPrint "它们的最大公约数是:"; NEnd Sub9、给定一个正整数n(n≥3),判断它是否是素数。
程序代码:(一)、原版Private Sub Command1_Click()Dim Flag%, I%, N&N = Val(InputBox("请输入一个整数", "判断是否是素数"))Flag = 0: I = 2While I <= N - 1 And Flag = 0If N Mod I = 0 Then Flag = 1 Else I = I + 1WendIf Flag = 0 Then Print N & "是素数" Else Print N & "不是素数"End Sub(二)、改进版Private Sub Command1_Click()Dim Flag%, I%, k%, N&N = Val(InputBox("请输入一个整数", "判断是否是素数"))Flag = 0: I = 2: k = Int(Sqr(N))While I <= k And Flag = 0If N Mod I = 0 Then Flag = 1I = I + 1WendIf Flag = 0 ThenPrint N & "是素数"ElsePrint N & "不是素数"End IfEnd Sub10、找出100~200之间的全部素数。