.
C类题
说明:C类题以循环结构的应用为主,并涉及累加、累乘、随机函数、分离数字、判断整除的应用等。
C01、在[1~1000]区间中的所有整数中,分别计算能被3整除的数的个数及能被7整除的数的个数, 结果显示如题所示。要求:必须使用循环语句实现。 Private Sub Command1_Click() s1 = 0 s2 = 0
For i = 1 To 1000 Step 1
If i mod 3=0 Then s1 = s1 + 1 If i mod 7=0 Then s2 = s2 + 1 Next i
Text1.text = s1 text2.text = s2 End Sub
Private Sub Command2_Click() End End Sub
C02、输出所有的水仙花数。即水仙花数是三位数,并且满足每位数字立方之和等于这个数。 如:153=1^3+5^3+3^3 (用循环完成) Private Sub Command1_Click() Cls
For i = 100 To 999 a = i \\ 100
b = i \\10 mod 10 c = i mod 10
If i = a *a*a+b*b*b+c*c*c Then Print i Next i End Sub
Private Sub Command2_Click() End End Sub
C03、求1到1000之间的偶数和、奇数和 Private Sub Command1_Click() s1 = 0 s2 = 0
For i = 1 To 1000 If i Mod 2 = 0 Then
s1 = s1 + i
Else .
.
s2 = s2 + i End If Next i Text1.text = s1 text2.text = s2 End Sub
Private Sub Command2_Click() End End Sub
C04、 编程计算 S=1+2+3+4+……N,找一个最大整数,使得S<30000 Private Sub Command1_Click() s = 0 n = 0
Do While s < 30000 n = n + 1 s = s + n Loop
Text1.text = n - 1 text2.text = s - n End Sub
Private Sub Command2_Click() End End Sub
C05、求N!=1*2*3*…*N,N值由键盘输入(N应在5---10之间,否则输出“N值不符合要求”)。 Private Sub Command1_Click() n = val(InputBox(\
If n>= 5 and n <= 10 Then s = 1
For i = 1 To n s = s * i Next i
Print \ Else
Print “N值不符合要求” End if End Sub
Private Sub Command2_Click() End End Sub
C06、单击窗体时生成20个[0,9] 范围内的随机整数,在窗体上显示出其中大于5的随机整数。 Private Sub Form_Click() Cls .
.
Randomize Timer For i = 1 To 20 x = Fix(Rnd * 10) If x > 5 Then Print x Next i End Sub
C07生成10个[10,99] 范围内的随机整数,显示并求平均值。 Private Sub Command1_Click() Randomize Timer Cls
For i = 1 To 10
x = Fix(Rnd * 90) + 10 Print x,
If i Mod 5 = 0 Then Print s = s + x Next i
Print \平均值为:\End Sub
Private Sub Command3_Click() End End Sub
C08计算1*2+2*3+3*4+……+9*10的值 Private Sub Command1_Click() s = 0
For i = 1 To 9 s = s + i * (i + 1) Next i
Text1.text = s End Sub
Private Sub Command2_Click() End End Sub
C09本金1万元,年利率7.5%,利滚利(即每年结息后,将利息转成本金继续存入)几年后本利可达到
2万元?
1年的本利值=本利金+本利金×年利率
Private Sub Command1_Click() s = 1
Do while s<2 d = d + 1
s = s + s * 0.075
Loop
Text1.text = d .
.
End Sub
Private Sub Command2_Click() End End Sub
D类题(综合应用)
D01、编程实现:单击“计算”按钮,求100个两位来。单击“清除”按钮,
清除相应数据。要求必须使用循环语句实现。 Private Sub Command1_Click() For i = 1 To 100
a = Fix(Rnd * 90) + 10 s = s + a Next i
Text1.text = s End Sub
Private Sub Command2_Click() Label2 = \End Sub
D02、点击窗体输出九九乘法表 Private Sub Form_Click()
Print \ 九九乘法表\For a = 1 To 9 For b = 1 To a
Print a ; \; b ;\; a * b ; Next b Print Next a End Sub
D03、点击窗体打印如下图形: Private Sub Form_Click() For i = 1 To 5
Print Tab(6 - i); For j = 1 To 2 * i - 1 Print \ Next j Print Next i End Sub
D04、有一数学灯谜,求A、B、C、D(其中A、B、C、D都为一位数字)的值
数的随机整数之和,并显示出
.
.
ABCD?CDC ABCPrivate Sub Command1_Click() For A = 1 To 9 For B = 0 To 9 For C = 1 To 9 For D = 0 To 9
If (1000 * A + 100 * B + 10 * C + D) - (100 * C + 10 * D + C) = (100 * A + 10 * B + C) Then print a;b;c;d Next D, C, B, A End Sub
Private Sub Command2_Click() End End Sub
D05、产生10个两位的随机整数并打印输出,点击“排序”按钮将它们按从小到大的顺序排序并在下一行
打印输出。点击“结束”按钮退出程序。 Private Sub Command1_Click() Cls Dim a(10) Randomize Timer For i = 1 To 10
a(i) = Fix(Rnd * 90) + 10 Print a(i); Next i For i = 1 To 9 For j = i + 1 To 10
If a(j) < a(i) Then t = a(j): a(j) = a(i): a(i) = t Next j Next i Print
For i = 1 To 10 Print a(i); Next i End Sub
Private Sub Command2_Click() End End Sub
D06、36块砖,36人搬。男搬4,女搬3,两个小孩抬一块砖。要求一次全搬完。问需男、女、小孩各若干? Private Sub Form_Click() .
高中计算机会考 VB题 A档次到D档次 习题及答案



