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

下载本文档

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

文档简介

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 ="良好"Case Is >=

2、 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 Integer m = Val(Text1.Text)n = Val(Text2.Text)If m < 0 Or n < 0 ThenMsgBox "数据错误!&q

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

4、= 0 Or n = 0 Then Text3.Text = 0 Else Do p = m Mod n If p = 0 Then Exit Do End If m = n n = p Loop Until False Text3.Text = t / n End If End 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 = 1 To I M = I * J s = s &

5、amp; J & "*" & I & "=" & M & ""Next J List1.AddItem s Next IEnd Sub4 .求 ABCD CDC=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 * 10 + cz = a * 100 + b *

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

7、To 10t = Val(InputBox("请输入第"& i & "个数:","显示",0) If t > 0 Thenx1 = x1 + 1ElseIf t < 0 Thenx2 = x2 + 1 Elsex3 = x3 + 1End IfNextPrint ”正数的个数:”& x1Print "负数的个数:"& x2Print ”零的个数:"& x3End Sub7 .Fibonacci数列(用数组做)Private Sub Form_Load()

8、For i = 1 To 30Listl.AddItem Fib(i)NextEnd SubPrivate Function Fib(n)If n < 3 ThenFib = 1ElseFib = Fib(n - 1) + Fib(n - 2)End IfEnd FunctionPrivate Sub List1_Click()List1.AddItem = FibEnd Sub8 .输入十个数打印并找出最大数,最小数Private Sub Command1_Click()Dim a(9), i, max, min As IntegerFori = 0 To 9a(i) = Val(In

9、putBox("请输入第"& i + 1 & "个数:")Print a(i);Nextmax = a(0)Fori = 0 To 9If a(i) > max Then max = a(i)If a(i) < min Then min = a(i)NextPrintPrintPrintPrint "最大数为:"& max;"最小数为:"& minEnd Sub9.100元换成40张等值的10,5,2,1的钱的题Private Sub Command1_Click()Fo

10、r 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 Then h = Format(x, "") & Format(y, "”) _& Format(z, "") & Format(w, "") List1.AddItem hEnd IfNext zNext yNext xEnd Sub10 .找出三位数的回文数

11、并打印,并求其个数Private Sub Command1_Click()Dim n As IntegerFor n = 101 To 999a = Int(n / 100)b = Int(n - a * 100) / 10)c = n - a * 100 - b * 10If a = c Then List1.AddItem nNextPrint List1.ListCountEnd Sub10-2回文字判断1)按定义判断先求出字符串的反序字符串,然后和原字符串比较,如果相等则是回文,否则 不是回文。Dim str As String, i As Integer'以下求Text1中文

12、本的反序用strFor i=1 To Len(Text1)str=Mid(Text1, i, 1) & strNext iIf str=Text1 Then MsgBox "是回文"Else MsgBox "不是回文"(2)首尾字符的成对比较将字符串折半比较,若每对字符都相等则是回文,否则只要有一对字符不等就不 是回文。Dim i As IntegerFor i=1 To Len(Text1) 2If Mid(Text1, i, 1) <> Mid(Text1, Len(Text1) - i + 1, 1) Then Exit For

13、 Next iIf i > Len(Text1) 2 Then MsgBox "是回文"Else MsgBox "不是回文"11 .求1-10之间阶乘题Private Sub Command1_Click() Dim i As Integer, s As Double i = 1Do While i <= 10 s = 1 Forj = 1 To i s = s * j Next j Print i; "!=" s i = i + 1LoopEnd Sub12 .水仙花题Private Sub Command1_Click

14、() Dim i As Integer, m As IntegerFor i = 100 To 999m = (i Mod 10) A 3 + _(i 10 Mod 10) a 3 + (i 100) a 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 9 x = a * 100 + b * 10 + cIf x = a a 3 + b a 3 + c a 3 ThenPrint xEnd IfNextNextNextEnd S

15、ub13 .打印菱形Private Sub Command1_Click()For i = 1 To 5Print Spc(6 - i);Forj = 1 To iPrint Spc;"*"Next jPrintNext iFor i = 5 To 1 Step -1Print Spc(6 - i);Forj = 1 To iPrint Spc;"*"Next jPrintNext iEnd Sub14 .用Do循环设计例4.11中的s=1x 2x3xx n的值,其中n由 输入对话框获得。Private Sub Command1_Click()n = I

16、nputBox("请输入n的值:","输入")s = 1 i = 1 DoIf i > Val(n) Then Exit Dos = s * i i = i + 1 LoopMsgBox "s=" + Str(s), 0,"计算结果"End Sub15 .求由数字0、1、2、3、4组成的所有无重复数字的3位正整数。Private Sub Command1_Click()Dim a As Integer, b As Integer, c As Integer, n As IntegerFor a=1 To 4F

17、or b=0 To 4For c=0 To 4If a <> b And b <> c And a <> c ThenPrint a * 100 + b * 10 + c;或为 List1.AddItem a * 100 + b * 10 + cn=n + 1If n Mod 5=0 Then PrintEnd IfNext cNext bNext aEnd Sub课后题1.Private Sub Command1_Click()x = Val(InputBox("请输入一个数","显示",0)If x > 0

18、Then x = MsgBox("是正数",48,显示)If x = 0 Then x = MsgBox("是零",48,显示)If x < 0 Then x = MsgBox("是负数",64,显示)End Sub2.Private Sub Command1_Click()Dim a As SingleDim b As SingleDim c As SingleDim t As Singlea = Val(InputBox("请输入第一个数","从大到小排序",0) b = Val(In

19、putBox("请输入第二个数","从大到小排序",0) c = Val(InputBox("请输入第三个数","从大到小排序",0) If 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 Command1_Click() Static n As Integ

20、erx = Text1.Text If x = "123" Then Label1.Caption ="欢迎进入本系统" ElseLabel1.Caption ="输入错误"n = n + 1If n = 3 Then EndEnd If End SubPrivate Sub Command2_Click()Text1.Text ="" End Sub4.Private Sub Command1_Click() If Left(Text1.Text, 2) = 1 Then Text2.Text =" 一

21、年级"ElseIf Left(Text1.Text, 2) = 2 Then Text2.Text ="二年级"ElseIf Left(Text1.Text, 2) = 3 Then Text2.Text ="三年级"ElseIf Left(Text1.Text, 2) = 4 ThenText2.Text ="四年级"ElseText2.Text ="输入错误"End IfEnd IfEnd IfEnd IfIf Mid(Text1.Text, 5, 1) = 2 Then Text3.Text =&q

22、uot;博士生"ElseIf Mid(Text1.Text, 5, 1) = 3 Then Text3.Text ="硕士生"ElseIf Mid(Text1.Text, 5, 1) = 4 Then Text3.Text ="本科生"ElseIf Mid(Text1.Text, 5, 1) = 5 Then Text3.Text ="专科生"ElseText3.Text ="输入错误"End IfEnd IfEnd IfEnd IfEnd Sub5.Private Sub Command1_Click(

23、)Dim x As IntegerFor x = 100 To 200If x Mod 3 = 0 Or x Mod 5 = 0 ThenListl.AddItem xEnd IfNextPrint Listl.ListCountEnd Sub6.Private Sub Command1_Click() a = 1: b = 1Listl.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 - 1If m Mod i = 0 Then s = s + i NextIf s = m Then j = j & m & ","NextPrint jEnd SubPrivate Sub Command2_Click() Dim m As Integer, s As Integer For m =

温馨提示

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

评论

0/150

提交评论