最新VB编程题目及答案
- 格式:doc
- 大小:42.50 KB
- 文档页数:13
精品文档
精品文档 1. 输入3个数,输出最大的数
2. 有一元二次方程:aX2+bX+c=0,依次输入a,b,c,判断此方程是否有实根
3. 输入一个百分制的成绩,若大于等于60,则用消息框弹出,显示“恭喜!成绩通过!”,若小于60,则弹出消息框,显示“抱歉!成绩没有通过!”
4. 输入一年份,判断它是否为闰年,并显示有关信息。(判断闰年的条件是:年份能被4整除但不能被100整除,或者能被400整除)
5. 输入学生的百分制成绩,转换输出为五级制成绩,90~100分转换为优秀,80~89转换为良好,70~79转换为中等,60~69转换为及格,0~60转换为不及格。
6. 随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。例如,产生246,输出是642。
7. 输入两个整数,求它们的最大公约数。
8. 编程求200--400范围内5的倍数或7的倍数之和。(一个数如果同时是7和5的倍数,则只能加一次。。
9. 计算100~300之间所有能被3和7整除的数之和
10. 分别统计1-100中,满足3的倍数、7的倍数的数各有多少。
11. 某次歌曲大奖赛,有7个评委。如果分别输入7个评委对某个参赛者的打分数,按照去掉一个最高分和一个最低分的计算办法,求出该参赛者的平均得分。
12. 输入一串字符,统计其中字母A(不区分大小写)出现的次数。
13. 我国目前有13亿人口,按人口年增长率0.8%计算,多少年后我国人口将超过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”,显示“TGFDSA”
19. 随机产生10个[30,100]内的整数,求最大值及所对应的下标
20. 随机产生10个[30,100]内的整数,求最大值、最小值和平均值。
21. 随机产生10个[30,100]内的整数,求最小值及所对应的下标。
22. 随机生成一个整型的二维数组,范围在[10,20]之间,以下三角形式输出该数组。
23. 随机产生10个1~100的正整数放入数组,显示产生的数,求最大值、最小值、平均值。
24. 利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[20,50]内的整数,输出该矩阵所有数据之和
25. 已知有序数组a(),编程插入x(x的值为14)。数组a中的元素分别为{12,6,4,89,75,63,100,20,31}。
26. 编写一函数,计算Double类型一维数组所有元素的平均值。
27. 用函数过程求表达式1+1/2+1/3+1/4+…+1/n的和.
28. 编一子过程ProcMin,求一维数组a中的最小值,子过程的形参自己确定。
29. 编一个函数,求一维数组a中的最大值,函数的形参自己确定。
30. 编写一个过程计算并输出区间[100,1000]内所有素数的和(要求判断素数使用过程(函数或子过程)来实现。调用该过程。(提示:只能被1和自身整除的自然数称为素数。)
(注:本答案第一行代码应在题目之后,自行调整)
精品文档
精品文档 Private Sub Command11_Click()
'1. 输入3个数,输出最大的数
Dim max%
X1 = Val(InputBox("input"))
X2 = Val(InputBox("input"))
x3 = Val(InputBox("input"))
max = X1
If max <= X2 Then
max = X2
End If
If max <= x3 Then
max = x3
End If
MsgBox ("3个数之中的最大数max=" & max)
End Sub
Private Sub Command12_Click()
'2. '有一元二次方程:aX2+bX+c=0,依次输入a,b,c,判断此方程是否有实根
a = Val(InputBox("input"))
B = Val(InputBox("input"))
c = Val(InputBox("input"))
s = B ^ 2 - 4 * a * c
If a <> 0 Then
If s = 0 Then
MsgBox ("两个相等实根")
ElseIf s > 0 Then
MsgBox ("两个不相等实根")
ElseIf s < 0 Then
MsgBox ("两个不相等虚根")
End If
Else
MsgBox (" 无解")
End If
End Sub
Private Sub Command13_Click()
'3. 输入一个百分制的成绩,若大于等于60,则用消息框弹出,显示"恭喜!成绩通过!",若小于60,则弹出消息框,显示"抱歉!成绩没有通过!"
X = Val(InputBox("input"))
If X >= 60 Then
MsgBox ("恭喜!成绩通过!") 精品文档
精品文档 Else
MsgBox ("抱歉!成绩没有通过!")
End If
End Sub
Private Sub Command14_Click()
'4. 输入一年份,判断它是否为闰年,并显示有关信息。(判断闰年的条件是:年份能被4整除但不能被100整除,或者能被400整除)
yes = Val(InputBox("year"))
If yes Mod 4 = 0 And yes Mod 100 <> 0 Or yes Mod 400 = 0 Then
MsgBox (yes & "是闰年")
Else
MsgBox (yes & "不是闰年")
End If
End Sub
Private Sub Command15_Click()
'5. 输入学生的百分制成绩,转换输出为五级制成绩,90~100分转换为优秀,80~89转换为良好,70~79转换为中等,60~69转换为及格,0~60转换为不及格。
score = Val(InputBox("input"))
Select Case score
Case Is >= 90
MsgBox ("优秀")
Case Is >= 80
MsgBox ("良好")
Case Is >= 70
MsgBox ("中")
Case Is >= 60
MsgBox ("及格")
Case Else
MsgBox ("不及格")
End Select
End Sub
Private Sub Command16_Click()
'6. 随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。例如,产生246,输出是642。
a = "645"
n = Len(a)
For i = 1 To Int(n / 2)
c = Mid(a, i, 1) 精品文档
精品文档 Mid(a, i, 1) = Mid(a, n - i + 1, 1)
Mid(a, n - i + 1, 1) = c
Next i
MsgBox (a)
End Sub
Private Sub Command1_Click()
'7. 输入两个整数,求它们的最大公约数
m = Val(InputBox("input m值"))
n = Val(InputBox("input n值"))
If n > m Then
t = n
n = m
m = t
End If
r = m Mod n
Do While r <> 0
m = n
n = r
r = m Mod n
Loop
MsgBox ("最大公约数=" & n)
End Sub
Private Sub Command2_Click()
'8. 编程求200--400范围内5的倍数或7的倍数之和。(一个数如果同时是7和5的倍数,则只能加一次。
Dim sum1%, sum2%
sum1 = 0: sum2 = 0
For i = 200 To 400
If i Mod 5 = 0 Then
sum1 = sum1 + i
ElseIf i Mod 7 = 0 Then
sum2 = sun2 + i
End If
Debug.Print i, sum1, sum2
Next i
MsgBox ("5 的倍数之和sum=" & sum1)
MsgBox ("7 的倍数之和sum=" & sum2)
End Sub
Private Sub Command3_Click()
'9. 计算100~300之间所有能被3和7整除的数之和