vb第四章选择结构和循环结构编程题_第1页
vb第四章选择结构和循环结构编程题_第2页
vb第四章选择结构和循环结构编程题_第3页
vb第四章选择结构和循环结构编程题_第4页
vb第四章选择结构和循环结构编程题_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上 第四章编程题 1.查询分数题Private Sub Form_Load()x = Val(InputBox("请输入分数", "输入", 0)Select Case xCase Is < 0Label1.Caption = "输入有误"Case Is > 100Label1.Caption = "输入有误"Case Is >= 90Label1.Caption = "优秀"Case Is >= 80Label1.Caption = "

2、良好"Case Is >= 70Label1.Caption = "一般"Case Is >= 60Label1.Caption = "及格"Case Is < 60Label1.Caption = "不及格"End SelectEnd Sub2.求最大公约数题Private Sub Command1_Click()Dim m As Integer, n As Integer, p As Integerm = Val(Text1.Text)n = Val(Text2.Text)If m < 0 Or

3、n < 0 Then MsgBox "数据错误!" EndEnd Ifp = m Mod nDo While p <> o m = n n = p p = m Mod nLoopText3.Text = nEnd Sub2.1最小公倍数Private Sub Command1_Click()Dim m As Integer, n As Integer, p As Integer, t As Integerm = Val(Text1.Text)n = Val(Text2.Text)t = m * nIf m < 0 Or n < 0 ThenMs

4、gBox "数据错误!"EndEnd IfIf m = 0 Or n = 0 ThenText3.Text = 0ElseDop = m Mod nIf p = 0 ThenExit DoEnd Ifm = nn = pLoop Until FalseText3.Text = t / nEnd IfEnd Sub3. 九九乘法表Private Sub Command1_Click() Dim I As Integer, J As Integer, M As Integer, s As String For I = 1 To 9 s = "" For J

5、= 1 To I M = I * J s = s & J & "*" & I & "=" & M & " " Next J List1.AddItem s Next IEnd Sub4.求ABCDCDC=ABC题Private Sub Command1_Click()For a = 1 To 9: For b = 0 To 9For c = 1 To 9: For d = 0 To 9x = a * 1000 + b * 100 + 10 * c + dy = c * 100 + d *

6、 10 + cz = a * 100 + b * 10 + cIf x - y = z ThenPrint x; y; zEnd IfNextNextNextNextEnd Sub5. 求前100项和,平均数题Private Sub Form_click()n = 1: s = 0Do While n <= 100s = s + nn = n + 1LoopPrint s, n - 1, s / (n - 1), s * (n - 1)End Sub6.输入10个数找出正数,负数,零的个数Private Sub Command1_Click() Dim i, t, x1, x2, x3

7、As Integer For i = 1 To 10 t = Val(InputBox("请输入第" & i & "个数:", "显示", 0) If t > 0 Then x1 = x1 + 1 ElseIf t < 0 Then x2 = x2 + 1 Else x3 = x3 + 1 End If Next Print "正数的个数:" & x1 Print "负数的个数:" & x2 Print "零的个数:" &

8、x3End Sub7. Fibonacci数列(用数组做)Private Sub Form_Load()For i = 1 To 30List1.AddItem Fib(i)NextEnd SubPrivate Function Fib(n)If n < 3 Then Fib = 1ElseFib = Fib(n - 1) + Fib(n - 2)End IfEnd FunctionPrivate Sub List1_Click()List1.AddItem = FibEnd Sub8.输入十个数打印并找出最大数,最小数Private Sub Command1_Click() Dim a

9、(9), i, max, min As Integer For i = 0 To 9 a(i) = Val(InputBox("请输入第" & i + 1 & "个数:") Print a(i); Next max = a(0) For i = 0 To 9 If a(i) > max Then max = a(i) If a(i) < min Then min = a(i) Next Print Print Print Print "最大数为:" & max; "最小数为:"

10、& minEnd Sub9.100元换成40张等值的10,5,2,1的钱的题Private Sub Command1_Click()For x = 1 To 10For y = 1 To 20For z = 1 To 50w = 40 - x - y - zIf 10 * x + 5 * y + 2 * z + w = 100 And x * y * z * w > 0 Thenh = Format(x, "") & Format(y, "") _& Format(z, "") & Format(

11、w, "")List1.AddItem hEnd IfNext zNext yNext xEnd Sub10.找出三位数的回文数并打印,并求其个数Private Sub Command1_Click()Dim n As Integer For n = 101 To 999 a = Int(n / 100) b = Int(n - a * 100) / 10) c = n - a * 100 - b * 10 If a = c Then List1.AddItem n Next Print List1.ListCountEnd Sub10-2回文字判断1)按定义判断 先求出字

12、符串的反序字符串,然后和原字符串比较,如果相等则是回文,否则不是回文。 Dim str As String, i As Integer '以下求Text1中文本的反序串str For i=1 To Len(Text1) str=Mid(Text1, i, 1) & str Next i If str=Text1 Then MsgBox "是回文" Else MsgBox "不是回文"(2)首尾字符的成对比较将字符串折半比较,若每对字符都相等则是回文,否则只要有一对字符不等就不是回文。 Dim i As Integer For i=1 To

13、 Len(Text1) 2 If Mid(Text1, i, 1) <> Mid(Text1, Len(Text1) - i + 1, 1) Then Exit For Next i If i > Len(Text1) 2 Then MsgBox "是回文" Else MsgBox "不是回文"11.求1-10之间阶乘题Private Sub Command1_Click()Dim i As Integer, s As Double i = 1 Do While i <= 10 s = 1 For j = 1 To i s = s

14、 * j Next j Print i; "!=" s i = i + 1 LoopEnd Sub12.水仙花题Private Sub Command1_Click()Dim i As Integer, m As IntegerFor i = 100 To 999m = (i Mod 10) 3 + _(i 10 Mod 10) 3 + (i 100) 3If m = i Then Print iNext iEnd SubPrivate Sub Command2_Click()For a = 1 To 9: For b = 0 To 9: For c = 0 To 9x =

15、 a * 100 + b * 10 + cIf x = a 3 + b 3 + c 3 ThenPrint xEnd IfNextNextNextEnd Sub13. 打印菱形 Private Sub Command1_Click() For i = 1 To 5 Print Spc(6 - i); For j = 1 To i Print Spc(1); "*" Next j Print Next i For i = 5 To 1 Step -1 Print Spc(6 - i); For j = 1 To i Print Spc(1); "*" Ne

16、xt j Print Next iEnd Sub14.用Do循环设计例4.11中的s=1×2×3××n的值,其中n由输入对话框获得。Private Sub Command1_Click() n = InputBox("请输入n的值:", "输入") s = 1 i = 1 Do If i > Val(n) Then Exit Do s = s * i i = i + 1 Loop MsgBox "s=" + Str(s), 0, "计算结果"End Sub15. 求由数

17、字0、1、2、3、4组成的所有无重复数字的3位正整数。 Private Sub Command1_Click() Dim a As Integer, b As Integer, c As Integer, n As Integer For a=1 To 4 For b=0 To 4 For c=0 To 4 If a <> b And b <> c And a <> c Then Print a * 100 + b * 10 + c;或为 List1.AddItem a * 100 + b * 10 + c n=n + 1 If n Mod 5=0 Then

18、 Print End If Next c Next b Next aEnd Sub 课后题1.Private Sub Command1_Click()x = Val(InputBox("请输入一个数", "显示", 0)If x > 0 Then x = MsgBox("是正数", 48, 显示)If x = 0 Then x = MsgBox("是零", 48, 显示)If x < 0 Then x = MsgBox("是负数", 64, 显示)End Sub2.Private S

19、ub Command1_Click()Dim a As SingleDim b As SingleDim c As SingleDim t As Singlea = Val(InputBox("请输入第一个数", "从大到小排序", 0)b = Val(InputBox("请输入第二个数", "从大到小排序", 0)c = Val(InputBox("请输入第三个数", "从大到小排序", 0)If a < b Then t = a: a = b: b = tIf a

20、< c Then t = a: a = c: c = tIf b < c Then t = b: b = c: c = tPrint "从大到小的顺序为:" a; b; cEnd Sub3.Private Sub Command1_Click()Static n As Integerx = Text1.TextIf x = "123" ThenLabel1.Caption = "欢迎进入本系统"ElseLabel1.Caption = "输入错误" n = n + 1 If n = 3 Then End

21、 End IfEnd SubPrivate Sub Command2_Click()Text1.Text = ""End Sub4.Private Sub Command1_Click()If Left(Text1.Text, 2) = 1 ThenText2.Text = "一年级"Else If Left(Text1.Text, 2) = 2 Then Text2.Text = "二年级" Else If Left(Text1.Text, 2) = 3 Then Text2.Text = "三年级" Else

22、If Left(Text1.Text, 2) = 4 Then Text2.Text = "四年级" Else Text2.Text = "输入错误" End If End If End IfEnd IfIf Mid(Text1.Text, 5, 1) = 2 Then Text3.Text = "博士生"Else If Mid(Text1.Text, 5, 1) = 3 Then Text3.Text = "硕士生" Else If Mid(Text1.Text, 5, 1) = 4 Then Text3.Tex

23、t = "本科生" Else If Mid(Text1.Text, 5, 1) = 5 Then Text3.Text = "专科生" Else Text3.Text = "输入错误" End If End If End IfEnd IfEnd Sub5.Private Sub Command1_Click()Dim x As IntegerFor x = 100 To 200If x Mod 3 = 0 Or x Mod 5 = 0 ThenList1.AddItem xEnd IfNextPrint List1.ListCount

24、End Sub6.Private Sub Command1_Click()a = 1: b = 1List1.AddItem aList1.AddItem bFor n = 1 To 28c = a + ba = bb = cList1.AddItem cNextEnd Sub7. 完备数Private Sub Command1_Click() Dim m, i, j, s j = "结果:" For m = 2 To 1000 s = 0 For i = 1 To m - 1 If m Mod i = 0 Then s = s + i Next If s = m Then j = j & m & "," Next Print jEnd SubPrivate Sub Command2_Click()Dim m As Integer, s As IntegerFor

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论