VB编程题答案.doc_第1页
VB编程题答案.doc_第2页
VB编程题答案.doc_第3页
VB编程题答案.doc_第4页
VB编程题答案.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

(1)选择结构 (2)循环结构(3)数组 (4)过程1. 输入3个数,输出最大的数2. 有一元二次方程:aX2+bX+c=0,依次输入a,b,c,判断此方程是否有实根详细代码如下:Private Sub Command1_Click()Dim a As IntegerDim b As IntegerDim c As Integera = InputBox(a)b = InputBox(b)c = InputBox(c)If (b * b - 4 * a * c) = 0 ThenPrint Yes;ElsePrint NoEnd IfEnd Sub3. 输入一个百分制的成绩,若大于等于60,则用消息框弹出,显示“恭喜!成绩通过!”,若小于60,则弹出消息框,显示“抱歉!成绩没有通过!”4. 输入一年份,判断它是否为闰年,并显示有关信息。(判断闰年的条件是:年份能被4整除但不能被100整除,或者能被400整除)代码如下:Private Sub Command1_Click()Dim y%y = InputBox(请输入年数)If y Mod 4 = 0 And y Mod 100 0 Or y Mod 400 = 0 Then MsgBox (y & 年是闰年)Else MsgBox (y & 年是平年)End IfEnd Sub5. 输入学生的百分制成绩,转换输出为五级制成绩,90100分转换为优秀,8089转换为良好,7079转换为中等,6069转换为及格,060转换为不及格。代码如下:Private Sub Command1_Click() Dim n As Single Dim s As String n = Val(InputBox(请你输入成绩) Select Case n Case 90 To 100 s = 优秀 Case 80 To 90 s = 良 Case 70 To 80 s = 中 Case 60 To 70 s = 及格 Case 0 To 60 s = 不及格 Case Else s = 请你输入0至100自己的数字 End Select MsgBox sEnd Sub6. 随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。例如,产生246,输出是642。代码如下:Private Sub Command1_Click()Dim n As IntegerDim a As StringDim b As String n = Int(Rnd * 900 + 100) a = Trim(Str(n) b = For I = 3 To 1 Step -1 b = b + Mid(a, I, 1)Next IText1.Text = aText2.Text = bEnd Sub7. 输入两个整数,求它们的最大公约数。Private Sub Command1_Click()Dim m As IntegerDim n As IntegerDim r As Integerm = InputBox(m)n = InputBox(n)r = m Mod nDo While r 0m = nn = rr = m Mod nLoopPrint n=; nEnd Sub8. 编程求200-400范围内5的倍数或7的倍数之和。(一个数如果同时是7和5的倍数,则只能加一次。Private Sub Command1_Click()Dim sum As Integersum = 0For i = 200 To 400If i Mod 5 = 0 Then sum = sum + iEnd IfIf i Mod 7 = 0 ThenEnd IfIf i Mod 5 = 0 And i Mod 7 = 0 Thensum = sum + iEnd IfNext iPrint sum=; sumEnd Sub9. 计算100300之间所有能被3和7整除的数之和代码如下:Private Sub Form_Click()For i = 100 To 300If i Mod 21 = 0 Thens = s + iEnd IfNext iPrint 和为; sEnd Sub10. 分别统计1-100中,满足3的倍数、7的倍数的数各有多少。代码如下:Private Sub Command1_Click()Dim count3 As IntegerDim count7 As Integercount3 = 0count7 = 0For i = 1 To 100 If i Mod 3 = 0 Then count3 = count3 + 1 End If If i Mod 7 = 0 Then count7 = count7 + 1 End IfNext iPrint count3=; count3Print count7=; count7 End Sub11. 某次歌曲大奖赛,有7个评委。如果分别输入7个评委对某个参赛者的打分数,按照去掉一个最高分和一个最低分的计算办法,求出该参赛者的平均得分。Private Sub Command1_Click()Dim mark As SingleDim aver As SingleDim max1 As SingleDim min1 As SingleFor i = 1 To 7 mark = InputBox( b ) If i = 1 Then max1 = mark: min1 = mark Else If mark max1 Then max1 = mark End If End If aver = aver + markNext iaver = (aver - max1 - min1) / 5Print averEnd Sub12. 输入一串字符,统计其中字母A(不区分大小写)出现的次数。Private Sub Command1_Click()Dim count As IntegerDim length As IntegerDim a As Stringa = Text1.Textlength = Len(a)count = 0For i = 1 To length If Mid(a, i, 1) = A Or Mid(a, i, 1) = a Then count = count + 1 End If Next i Text2.Text = count End Sub13. 我国目前有13亿人口,按人口年增长率0.8%计算,多少年后我国人口将超过26亿。Private Sub Command1_Click() Dim k, n Do Until k = 260000000 n = n + 1 k = 130000000 * (1 + 0.008) n Loop Print n & 年后人数为: & kEnd Sub14. 小猴有桃若干,第一天吃掉一半多一个;第二天吃剩下桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第7天只剩一个,问小猴原有桃多少? Private Sub Command1_Click() Dim a%, i% a = 1 For i = 1 To 6 a = 2 * (a + 1) Next i Print a End Sub代码如下:Private Sub Command1_Click()Dim result As Integerresult = 11For i = 1 To 7result = 2 * (result - 1)Next iPrint resultEnd Sub15. 求100以内的素数Private Sub Form_Click()Dim i%, j%For j = 2 To 100 For i = 2 To j - 1 If j Mod i Mod i = o Then Exit For Next i If i = j Then Print jNext jEnd Sub代码如下:Private Sub Command1_Click()For i = 1 To 100If IsSuShu(i) = True ThenPrint i;End IfNext iEnd SubPublic Function IsSuShu(ByVal n As Integer) As BooleanDim result As Booleanresult = TrueFor i = 2 To n - 1 If n Mod i = 0 Then result = False End IfNext i IsSuShu = result End Function16. 百元买百鸡问题。假定小鸡每只5角,公鸡每只2元,母鸡每只3元,编程求解购鸡方案。代码如下:Private Sub Command1_Click()For x = 1 To 100 For y = 1 To 100 For z = 1 To 100 If (x + y + z) = 100 And (0.5 * x + 2 * y + 3 * z) = 100 Then Print x, y, z End IfNext zNext yNext xEnd Sub17. 编程求斐波那契数列前11项。(斐波那契数列:F(0)=f(1)=1, F(n)=F(n-1)+F(n-2) n=2 ) 18. 将输入的字符串以反序显示,例如:输“ASDFGT”,显示“TGFDSA”Private Sub Form_Click()Dim a As StringDim b As IntegerDim c As StringDim n As Integera = InputBox()n = Len(a)For b = 1 To Int(n 2) c = Mid(a, b, 1) Mid(a, b, 1) = Mid(a, n - b + 1, 1) Mid(a, n - b + 1, 1) = cNext bPrint aEnd Sub19. 随机产生10个30,100内的整数,求最大值及所对应的下标Private Sub Form_Click()Dim a(1 To 10) As Integer, i%, maxa%, m%For i = 1 To 10a(i) = Int(Rnd * 70) + 30Next imaxa = a(1)For i = 2 To 10If a(i) a(1) Thenmaxa = a(i): m = iEnd IfNext iFor i = 1 To 10Print a(i);Next iPrint 最大值= & maxa; 它的下标为 & mEnd Sub20. 随机产生10个30,100内的整数,求最大值、最小值和平均值。代码如下:Private Sub Form_Click()Dim a(1 To 10) As Integer, amin, amax, i%, avera! For i = 1 To 10 a(i) = Int(Rnd * 71 + 30) Next i amin = a(1) amax = a(1) avera = a(1) For i = 2 To 10 If a(i) amax Then amax = a(i) If a(i) amin Then amin = a(i) avera = avera + a(i) Next i For i = 1 To 10 Print a(i); Next i Print Print max=; amax, min=; amin, avera=; avera / 10End Sub21. 随机产生10个30,100内的整数,求最小值及所对应的下标。 Private Sub Form_Click()Dim a(1 To 10) As Integer, i%, mina%, m%For i = 1 To 10 a(i) = Int(Rnd * 70) + 30Next imina = a(1)For i = 2 To 10 If a(i) a(1) Then mina = a(i): m = i ElseIf a(i) = a(1) Then mina = a(i): m = i End IfNext iFor i = 1 To 10 Print a(i);Next i Print 最小值为 & mina; 它的下标为 & mEnd Sub22. 随机生成一个整型的二维数组,范围在10,20之间,以下三角形式输出该数组。23. 随机产生10个1100的正整数放入数组,显示产生的数,求最大值、最小值、平均值。利用随机函数生成一个44的矩阵(即二维矩阵),范围是20,50内的整数,输出该矩阵所有数据之和代码如下:Private Sub Form_Click() Dim a%(3, 3) For I = 0 To 3 For j = 0 To 3 a(I, j) = Int(Rnd * 31 + 20) Print Tab(j * 5); a(I, j); Next j Next I s = a(0, 0) + a(1, 1) + a(2, 2) + a(3, 3) + a(3, 0) + a(2, 1) + a(1, 2) + a(0, 3) Print ; 和为; s;End Sub24.25. 已知有序数组a(),编程插入x(x的值为14)。数组a中的元素分别为12,6,4,89,75,63,100,20,31。26. 编写一函数,计算Double类型一维数组所有元素的平均值。代码如下:Private Function fsum (x() As Double ,n As Interger) As Double Dim I As Integer For i=1 to nfsum = fsum + x (i)Next ifsum = fsum / nEnd Function27. 用函数过程求表达式1+1/2+1/3+1/4+1/n的和.代码如下:Public Function sum(ByVal n As Integer) As Doubleresult = 0For I = 1 To n result =

温馨提示

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

评论

0/150

提交评论