VB编程题完整-_第1页
VB编程题完整-_第2页
VB编程题完整-_第3页
VB编程题完整-_第4页
VB编程题完整-_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、1选择结构 2循环结构3数组 4过程1. 输入3个数,输出最大的数2. 有一元二次方程:aX2+bX+c=0,依次输入a,b,c,判断此方程是否有实根3. 输入一个百分制的成绩,假设大于等于60,那么用消息框弹出,显示“恭喜!成绩通过!,假设小于60,那么弹出消息框,显示“抱歉!成绩没有通过!4. 输入一年份,判断它是否为闰年,并显示有关信息。判断闰年的条件是:年份能被4整除但不能被100整除,或者能被400整除5. 输入学生的百分制成绩,转换输出为五级制成绩,90100分转换为优秀,8089转换为良好,7079转换为中等,6069转换为及格,060转换为不及格。6. 随机产生一个三位正整数,

2、然后逆序输出,产生的数与逆序数同时显示。例如,产生246,输出是642。7. 输入两个整数,求它们的最大公约数。8. 编程求200-400范围内5的倍数或7的倍数之和。(一个数如果同时是7和5的倍数,那么只能加一次。9. 计算100300之间所有能被3和7整除的数之和10. 分别统计1-100中,满足3的倍数、7的倍数的数各有多少。11. 某次歌曲大奖赛,有7个评委。如果分别输入7个评委对某个参赛者的打分数,按照去掉一个最高分和一个最低分的计算方法,求出该参赛者的平均得分。12. 输入一串字符,统计其中字母A(不区分大小写)出现的次数。13. 我国目前有13亿人口,按人口年增长率0.8%计算,

3、多少年后我国人口将超过26亿。14. 小猴有桃假设干,第一天吃掉一半多一个;第二天吃剩下桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第7天只剩一个,问小猴原有桃多少?15. 求100以内的素数16. 百元买百鸡问题。假定小鸡每只5角,公鸡每只2元,母鸡每只3元,编程求解购鸡方案。17. 编程求斐波那契数列前11项。斐波那契数列:F(0)=f(1)=1, F(n)=F(n-1)+F(n-2) n>=2 18. 将输入的字符串以反序显示。例如:输入“ASDFGT,显示“TGFDSA19. 随机产生10个30,100内的整数,求最大值及所对应的下标20. 随机产生10个30,100内

4、的整数,求最大值、最小值和平均值。21. 随机产生10个30,100内的整数,求最小值及所对应的下标。22. 随机生成一个整型的二维数组,范围在10,20之间,以下三角形式输出该数组。23. 随机产生10个1100的正整数放入数组,显示产生的数,求最大值、最小值、平均值。24. 利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是20,50内的整数,输出该矩阵所有数据之和25. 有序数组a(),编程插入xx的值为14。数组a中的元素分别为12,6,4,89,75,63,100,20,31。26. 编写一函数,计算Double类型一维数组所有元素的平均值。27. 用函数过程求表达式1

5、+1/2+1/3+1/4+1/n的和.28. 编一子过程ProcMin,求一维数组a中的最小值,子过程的形参自己确定。29. 编一个函数,求一维数组a中的最大值,函数的形参自己确定。30. 编写一个过程计算并输出区间100,1000内所有素数的和(要求判断素数使用过程函数或子过程来实现。调用该过程。(提示:只能被1和自身整除的自然数称为素数。)1. 输入3个数,输出最大的数Private Sub Command1_Click()x = InputBox("键入第一个数")y = InputBox("键入第二个数")z = InputBox("键

6、入第三个数")Max = xIf Max < y Then Max = yIf Max < z Then Max = zPrint "最大值" MaxEnd Sub2. 有一元二次方程:aX2+bX+c=0,依次输入a,b,c,判断此方程是否有实根Private Sub Command1_Click()Dim a, b, c, na = Text1b = Text2c = Text3n = b * b - 4 * a * cIf n >= 0 ThenLabel1= "方程有根" Else Label1 = "方程无

7、根"End IfEnd Sub3. 输入一个百分制的成绩,假设大于等于60,那么用消息框弹出,显示“恭喜!成绩通过!,假设小于60,那么弹出消息框,显示“抱歉!成绩没有通过!Private Sub Form_Load()Text1 = ""End SubPrivate Sub Command1_Click()Dim nn = Text1If n > 60 ThenVal (MsgBox("恭喜!成绩通过!")ElseVal (MsgBox("抱歉!成绩没有通过!")End IfEnd Sub4. 4输入一年份,判断它是

8、否为闰年,并显示有关信息。判断闰年的条件是:年份能被4整除但不能被100整除,或者能被400整除Private Sub Command1_Click()Dim y% y = Val(Text1) If y Mod 4 = 0 And y Mod 100 <> 0 Or y Mod 400 = 0 Then MsgBox (y & "年是闰年") Else MsgBox (y & "年不是闰年") End If End Sub5. 输入学生的百分制成绩,转换输出为五级制成绩,90100分转换为优秀,8089转换为良好,7079转

9、换为中等,6069转换为及格,060转换为不及格。Private Sub Command1_Click()a = Val(InputBox("请输入成绩")If a > 100 Then Print "超出范围"If a >= 90 And a <= 100 Then Print "优秀"If a >= 80 And a < 90 Then Print "良好"If a >= 70 And a < 80 Then Print "中等"If a >=

10、 60 And a < 70 Then Print "及格"If a < 60 Then Print "不及格"End Sub6. 随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。例如,产生246,输出是642。Private Sub Command1_Click()Dim x%, x1%, x2%, x3% Text1 = Int(Rnd * 900 + 100) x = Val(Text1) x1 = x Mod 10 x2 = (x Mod 100) 10 x3 = x 100 Text2 = x1 * 100 + x2

11、 * 10 + x3 End Sub 7. 输入两个整数,求它们的最大公约数 private Sub Command1_Click() n1 = InputBox("输入n") m1 = InputBox("输入m") If m1 > n1 Then m = m1: n = n1 Else m = n1: n = m1 End If r = m Mod n Do While r <> 0 m = n n = r r = m Mod n LoopPrint "m n 的最大公约数是:" nEnd Sub8. 编程求20

12、0-400范围内5的倍数或7的倍数之和。(一个数如果同时是7和5的倍数,那么只能加一次。 Private Sub Command1_Click() Dim s1%, s2%, s3%, i%s1 = 0 s2 = 0 For i = 200 To 400 If i Mod 5 = 0 Or i Mod 7 = 0 Then s1 = s1 + i End If Next i For i = 200 To 400 If i Mod 5 = 0 And i Mod 7 = 0 Then s2 = s2 + i End If Next i s3 = s1 - s2Print s3 End Sub 9

13、、计算100300之间所有能被3和7整除的数之和Private Sub Command1_Click()Dim iSum = 0For i = 100 To 300If i Mod 3 = 0 And i Mod 7 = 0 ThenSum = Sum + iEnd IfNext iPrint SumEnd Sub10、分别统计1-100中,满足3的倍数、7的倍数的数各有多少。Private Sub Command1_Click()Dim i, s3, s7s3 = 0s7 = 0For i = 1 To 100If i Mod 3 = 0 Thens3 = s3 + 1End IfNext

14、iFor i = 1 To 100If i Mod 7 = 0 Thens7 = s7 + 1End IfNext iPrint "3的倍数" s3Print "7的倍数" s7End Sub11、某次歌曲大奖赛,有7个评委。如果分别输入7个评委对某个参赛者的打分数,按照去掉一个最高分和一个最低分的计算方法,求出该参赛者的平均得分。Private Sub Command1_Click()Dim max, a(1 To 7), min, sFor i = 1 To 7a(i) = Val(InputBox("输入第" & i &

15、amp; "个数")Next imax = a(1)min = a(1)s = a(1)For i = 2 To 7If a(i) > max Then max = a(i)If a(i) < min Then min = a(i)s = s + a(i)Next is = s - min - maxs = s / 5Print "平均分" sEnd Sub12、输入一串字符,统计其中字母A(不区分大小写)出现的次数。Private Sub Command1_Click()Dim c As String, a As Integerb = In

16、putBox("请输入字符")For i = 1 To Len(b) c = UCase(Mid(b, i, 1) If c = "A" Then a = a + 1 End If Next i Print "a出现的次数:" aEnd Sub13、我国目前有13亿人口,按人口年增长率0.8%计算,多少年后我国人口将超过26亿。Private Sub Command1_Click()Dim a, ia = 13i = 0Do While a < 26 a = a * (1.008)i = i + 1LoopPrint iEnd

17、Sub14、小猴有桃假设干,第一天吃掉一半多一个;第二天吃剩下桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第7天只剩一个,问小猴原有桃多少?Private Sub Command1_Click()Dim a, ia = 1For i = 1 To 6a = 2 * (a + 1)Next iPrint "小猴原有桃" a;只End Sub15、求100以内的素数Private Sub Command1_Click()Dim i, jFor i = 2 To 100For j = 2 To i - 1If i Mod j = 0 Then Exit ForNext

18、jIf j = i Then Print iNext iEnd Sub16、百元买百鸡问题。假定小鸡每只5角,公鸡每只2元,母鸡每只3元,编程求解购鸡方案。Private Sub Command1_Click()Print "小鸡" " " "母鸡" " " "公鸡"Print ""For x = 1 To 100For y = 1 To 100For z = 1 To 100If 0.5 * x + 2 * y + 3 * z = 100 ThenPrint "&

19、quot; x; " " y; " " zEnd IfNext zNext yNext xEnd Sub17、编程求斐波那契数列前11项。斐波那契数列:F(0)=f(1)=1, F(n)=F(n-1)+F(n-2) n>=2 Private Sub Command1_Click()Dim F(11), i As LongF(0) = 1F(1) = 1For i = 2 To 10F(i) = F(i - 1) + F(i - 2)Next iFor i = 0 To 11Print F(i);Next iEnd Sub18、将输入的字符串以反序显

20、示。例如:输入“ASDFGT,显示“TGFDSAPrivate Sub Command1_Click()Dim a, b, c, d, na = 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 Command1_Click()Dim a(1 To 10)

21、, mRandomizeFor I = 1 To 10a(I) = Int(Rnd * 71) + 30Print a(I)Next IMax = a(1)For I = 2 To 10If a(I) > Max Then Max = a(I): m = INext IPrint "max=" MaxPrint "max的下标为" mEnd Sub20、随机产生10个30,100内的整数,求最大值、最小值和平均值。Private Sub Command1_Click()Dim a(1 To 10)RandomizeFor i = 1 To 10a(

22、i) = Int(Rnd * 71) + 30Print a(i)Next iMax = a(1)Min = a(1)Avg = a(1)For i = 2 To 10If a(i) > Max Then Max = a(i)If a(i) < Min Then Min = a(i) Avg = Avg + a(i)Next iAvg = Avg / 10Print "max=" MaxPrint "min=" MinPrint "avg=" AvgEnd Sub 21、随机产生10个30,100内的整数,求最小值及所对应

23、的下标。Private Sub Command1_Click()Dim a(1 To 10), mRandomizeFor I = 1 To 10a(I) = Int(Rnd * 71) + 30Print a(I)Next IMin = a(1)For I = 2 To 10If a(I) < Min Then Min = a(I): m = INext IPrint "min=" MinPrint "min的下标为" mEnd Sub22、随机生成一个整型的二维数组,范围在10,20之间,以下三角形式输出该数组。Private Sub Comm

24、and1_Click()For i = 0 To 4 For j = 0 To i Print a(i, j); "" Next jPrintNext iEnd SubPrivate Sub Form_Activate()Dim a%(4, 4), i%, j%For i = 0 To 4 For j = 0 To 4 a(i, j) = Int(Rnd * 11 + 10)Print a(i, j); ""Next jPrintNext iEnd Sub23、随机产生10个1100的正整数放入数组,显示产生的数,求最大值、最小值、平均值。Private

25、 Sub Form_Click() Dim a(1 To 10) As Integer, i%, maxa%, mina%, suma% For i = 1 To 10 a(i) = Int(Rnd * 99 + 1) Print a(i);Next i mina = a(1)maxa = a(1) suma = a(1) For i = 2 To 10 If a(i) > maxa Then maxa = a(i) If a(i) < mina Then mina = a(i)suma = suma + a(i) Next i Print Print "max=&quo

26、t; maxa, "min=" mina, "aver=" suma / 10 End Sub24、利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是20,50内的整数,输出该矩阵所有数据之和Private Sub Form_Click()Dim a(3, 3), sum%For i = 0 To 3For j = 0 To 3a(i, j) = Int(Rnd * 31 + 20)Next jNext iFor i = 0 To 3For j = 0 To 3Print a(i, j);Next jPrintNext iFor i = 0

27、 To 3For j = 0 To 3sum = sum + a(i, j)Next jNext iPrint "sum=" sumEnd Sub25、有序数组a(),编程插入xx的值为14。数组a中的元素分别为12,6,4,89,75,63,100,20,31。1. Private Sub Form_Click()Dim a(), i%, n%a = Array(12, 6, 4, 89, 75, 63, 100, 20, 31)n = UBound(a)For i = 0 To nPrint a(i);Next iPrintFor i = 5 To na(i - 1)

28、= a(i)Next in = n - 1ReDim Preserve a(n)For i = 0 To nPrint a(i);Next iPrintEnd Sub26、编写一函数,计算Double类型一维数组所有元素的平均值。sub function xx(arr as double) as doubledim he as doubledim i as integerfor i=lbound(arr) to ubound(arr) he=he+arr(i)nextxx=he/(ubound(arr)-lbound(arr)+1)end function27、用函数过程求表达式1+1/2+1

29、/3+1/4+1/n的和.function sumfs(i as integer) as double dim sums as double,j as integer for j=1 to i sums=sums+1/j next i sumfs=sumsend function28、编一子过程ProcMin,求一维数组a中的最小值,子过程的形参自己确定。Private Sub Command1_Click()Dim i%, n%Dim a(10) As IntegerRandomizeFor i = 1 To 10a(i) = Int(Rnd * 101 + 400)Print "a(" & i& ")=" & a(i)Next iProc

温馨提示

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

评论

0/150

提交评论