资源描述
一般程序设计习题
'〖第1题〗:(事件)单击窗体。
' (响应)求100以内偶数和,并将成果输出在窗体上。
' 将成果存入变量SUM中
'答案:Dim i As Integer
For i = 1 To 100
If i Mod 2 = 0 Then
sum = sum + i
End If
Next
Print sum
'〖第2题〗:(事件)双击窗体。
' (响应)求s=1+1×2+1×2×3+…+1×2×3×…×10,
' 并将成果存到变量S中
答案:Dim i, j As Integer
Dim k As Long
k = 1
s = 0
For i = 1 To 10
For j = 1 To i
k = k * j
Next
s = s + k
k = 1
Next
Print (CStr(s))
'〖第3题〗:(事件)单击窗体。
' (响应)求1+2+3+……+100值,并把成果输出在窗体上。
' 成果存入变量SUM中。
'答案:Dim i As Integer
For i = 1 To 100
sum = sum + i
Next
Print sum
'〖第4题〗:鉴定一种数与否是素数。
'答案:Dim i As Integer
Prime = True
For i = 2 To Int(Sqr(m))
If m Mod i = 0 Then Prime = False: Exit For
Next i
'〖第5题〗:(事件)单击窗体。
' (响应)求1 - 1/2 + 1/3 - 1/4 + …… + 1/99 - 1/100值。
' 将成果存入变量J中。
Dim i As Integer
For i = 1 To 100
If i Mod 2 = 1 Then
j = j + 1 / i
ElseIf i Mod 2 = 0 Then
j = j - 1 / i
End If
Next
Print j
''〖第6题〗:(事件)单击窗体。
' (响应)求200~300之间既能被3整除又能被7整除数。
' 并求出所有数之和存入变量SUM中
'答案:Dim i As Integer
For i = 201 To 300
If ((i Mod 3) = 0) And ((i Mod 7) = 0) Then
Print (CStr(i))
sum = sum + i
End If
Next
Print sum
'〖第7题〗:(事件)单击窗体。
' (响应)求数列1+3+3+9+27+……前6项和,并将
' 成果输出到窗体上。将成果存入变量SUM中。
'答案: Dim i As Integer
Dim j(1 To 6) As Integer
For i = 1 To 6
If i < 3 Then
j(i) = 3 ^ (i - 1)
Else
j(i) = j(i - 1) * j(i - 2)
End If
sum = sum + j(i)
Next
Print sum
'〖第8题〗:(事件)单击窗体。
' (响应)求10!值,并将成果输出到窗体上。
' 将成果存入变量SUM中。
'答案: Dim i As Integer
sum = 1
For i = 1 To 10
sum = sum * i
Next
Print sum
'〖第9题〗:(事件)双击窗体。
' (响应)求出100~200之间,能被5整除,但不能被3
' 整除数。并求所有数之和,存入变量中
' SUM中。
'答案:Dim i As Integer
For i = 100 To 200
If ((i Mod 5) = 0) And ((i Mod 3) <> 0) Then
Print (CStr(i))
sum = sum + i
End If
Next
'〖第10题〗:(事件)双击窗体。
' (响应)把一元现金换成一分、二分和五分硬币
' (每种至少有一枚),求出其所有换法,
' 把成果输出在窗体上。
' 将所有换法数目存入变量N中
答案:Dim i, j, k As Integer
For i = 1 To 100
For j = 1 To 50
For k = 1 To 20
If ((i + 2 * j + k * 5) = 100) Then
Print (CStr(i))
Print (CStr(j))
Print (CStr(k))
n = n + 1
End If
Next
Next
Next
'〖第11题〗:求两个数m,n最大公约数p和最小公倍数q
'答案:nm = n * m
If m < n Then t = m: m = n: n = t
r = m Mod n
Do While (r <> 0)
m = n
n = r
r = m Mod n
Loop
p = n
q = nm / n
'〖第12题〗:(事件)双击窗体。
' (响应)s=20+21+22+…+263,求s值,并将成果
' 寄存到变量S中。
答案:Dim i As Integer
i = 20
While i <= 263
s = s + i
i = i + 1
Wend
Print (CStr(s))
'〖第13题〗:(事件)双击窗体。
' (响应)求3+6+9+12+15+18+……+300和,并将结
' 果输出到窗体上。将成果存入变量 SUM中。
'答案: Dim i As Integer
For i = 3 To 300
If i Mod 3 = 0 Then
sum = sum + i
End If
Next
Print sum
'〖第14题〗:(事件)双击窗体。
' (响应)编写代码功能如(图1)。
' 将成果存入变量S中'
'答案:Dim i As Integer
s = 1
For i = 1 To 10
s = s * i * i
Next
Print (CStr(s))
'〖第15题〗:(事件)双击窗体。
' (响应)求1+5+10+15+……+500和,并将成果输
' 出到窗体上。将成果存入变量SUM中。
答案: Dim i As Integer
For i = 1 To 500
If i Mod 5 = 0 Then
sum = sum + i
End If
Next
Print sum
'〖第16题〗:(事件)单击窗体。
' (响应)编写程序求10×11×12+11×12×13+…+15×16×17成果,
' 并将成果输出到窗体上。
' 将成果存入变量M中
'答案:Dim i, j As Integer
Dim s As Long
For i = 10 To 15
s = 1
For j = i To i + 2
s = s * j
Next
m = m + s
Next
Print (CStr(m))
'〖第17题〗:(事件)双击窗体。
' (响应)求出50以内所有奇数和。
' 将成果存入变量SUM中
答案: Dim i As Integer
For i = 1 To 50
If i Mod 2 = 1 Then
sum = sum + i
End If
Next
Print sum
'〖第18题〗:用迭代法求某个数平方根。 已知求平方根迭代公式图:
'算法思想:对于一种问题求解x,可由给定一种初值x0,根据某一
' 迭代公式得到一种新值x1,这个新值x1比初值x0更靠近规定值x;
' 再以新值作为初值,即:x1→x0,重新按本来措施求x1,反复这一过和
' 直到|x1-x0|<_(某一给定精度)。此时可将x1作为问题解。
'答案:Dim x0 As Single, x1 As Single
x0 = a / 2 '迭代初值
x1 = 0.5 * (x0 + a / x0)
Do
x0 = x1 '为下一次迭代作准备
x1 = 0.5 * (x0 + a / x0)
Loop While Abs(x1 - x0) > 0.00001
Fsqrt = x1
'〖第19题〗:(事件)单击窗体。
' (响应)求10~20之间所有素数乘积并输出在窗体上。
' 将成果存入变量L中。
答案:Dim i As Integer
Dim j As Integer
Dim b As Boolean
l = 1
b = False
For i = 10 To 20
For j = 2 To i - 2
If i Mod j = 0 Then
b = True
End If
Next
If b = False Then
l = l * i
End If
b = False
Next
Print Str(l)
〖第20题〗:编写函数fun其功能是:能计算从1开始到n
' 自然数中偶数平方和,n由键盘输入,
' (n是偶数)
'答案: Dim sum As Integer, i As Integer
sum = 0
For i = 2 To n Step 2
sum = sum + i * i
Next
fun = sum
'〖第21题〗:(事件)单击窗体。
' (响应)求出1000-9999之间具有如下特点四位数字,
' 它平方根
' 恰好就是它中间两位数字,例如,2500开
' 平方为50,恰为2500中间两位,找出所有
' 这样四位数。
' 并求出所有这样数和存入SUM中
'答案: Dim i As Integer
Dim j As Integer
For i = 1000 To 9999
j = Val(Mid(Trim(Str(i)), 2, 2))
If j ^ 2 = i Then
Print i,
sum = sum + i
End If
Next
'〖第22题〗:(事件)双击窗体。
' (响应)求100以内奇数和,并将成果输出在窗体上。
' 将成果存入变量SUM中
答案: Dim i As Integer
For i = 1 To 100
If i Mod 2 = 1 Then
sum = sum + i
End If
Next
Print sum
〖第23题〗:(事件)单击窗体。
' (响应)在窗体上打印数列2/1,3/2,5/3,8/5,13/8…
' 前10项,并求其和。
'答案:Dim i, j, k, m As Integer
s = 0
i = 2
j = 1
For k = 1 To 10
m = j
Print (CStr(i)) & "/" & CStr(j)
j = i
i = i + m
s = s + i / j
Next
'〖第24题〗:(事件)双击窗体。
' (响应)写程序处理百钱买百鸡问题:公鸡3元1只,
' 母鸡5元1只,小鸡一元3只,怎样用100元买
' 100只鸡。把成果输出到窗体上。
' 将答案数寄存在变量N中
'答案:
Dim i, j, k As Integer
For i = 1 To 20 '母鸡
For j = 1 To 33 '公鸡
For k = 3 To 100 '小鸡
If ((k Mod 3) = 0) And ((i * 5 + j * 3 + k / 3) = 100) And ((i + j + k) = 100) Then
Print (CStr(i))
Print (CStr(j))
Print (CStr(k))
n = n + 1
End If
Next
Next
Next
'〖第25题〗:(事件)单击窗体。
' (响应)一球从100米高度自由落下,每次落地返回
' 原高度二分之一,求第10次落地时,共通过多
' 少米?并将成果在窗体上输出。
'答案:Dim j, i As Integer
s = 0
j = 100
For i = 2 To 10
j = j / 2
s = s + 2 * j
Next
s = 100 + s
Print (CStr(s))
'〖第26题〗:(事件)单击窗体。
' (响应)在窗体上输出100~200之间所有合数。
' 求出所有数之和存入SUM中
''答案:Dim i, j, s As Integer
For i = 100 To 200
For j = 2 To Sqr(i)
If (i Mod j) = 0 Then
Print (CStr(i))
sum = sum + i
Exit For
End If
Next
Next
Print sum
'〖第27题〗:(事件)单击窗体。
' (响应)求50以内所有偶数和,并在窗体上输出出来。
' 将成果存入变量S中。
'答案:Dim i As Integer
For i = 2 To 50
If (i Mod 2) = 0 Then
s = s + i
End If
Next
Print (CStr(s))
'〖第28题〗:(事件)单击窗体。
' (响应)已知S=1+1/4+1/9+1/16+1/25+…+1/100,
' 成果输出在窗体上。
'答案:Dim i As Integer
s = 0
For i = 1 To 10
s = s + 1 / (i ^ i)
Next
Print (s)
''〖第29题〗:(事件)单击窗体。
' (响应)编写代码功能如(图1)。
' 将成果存入变量S中
答案:Dim i As Integer
For i = 1 To 10
s = s + i * i
Next
Print (CStr(s))
'〖第30题〗:(事件)单击窗体。
' (响应)求1!+2!+3!+……+10!值,并在窗体上输出。
' 成果存入变量L中。
'答案:Dim i As Integer
Dim s As Long
Dim j As Integer
s = 1
For i = 1 To 10
s = s * i
l = l + s
Next
Print Str(l)
'〖第31题〗:将一张面值为100元人民币等值换成100张5元、
' 1元和0.5元零钞,规定每种零钞不少于1张,
' 问有哪多种组合?将组合数存入变量OUT中。
答案:Dim n As Integer
Dim i%, j%, k%
Print "5? 1? 0.5?"
For i = 1 To 20
For j = 1 To 100 - i
k = 100 - i - j
If 5# * i + 1# * j + 0.5 * k = 100 Then
Print i, j, k
n = n + 1
End If
Next j
Next i
out = n
'〖第32题〗:(事件)双击窗体。
' (响应)求1!+2!+3!+4!+5!并将成果输出到窗体上。
' 成果存入变量S中
答案:Dim i, j, k, s As Integer
For i = 1 To 5
k = 1
For j = 1 To i
k = k * j
Next
s = s + k
Next
Print (CStr(s))
'〖第33题〗: (事件)单击窗体。
' (响应)求出100以内所有素数和,并将成果输出
' 到窗体上,并存入所给变量SUM中。
'答案:Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim b As Boolean
b = False
For i =2 To 100
b = False
j = CInt(Sqr(i))
For k = 2 To j
If i Mod k = 0 Then
b = True
End If
Next
If b = False Then
sum = sum + i
End If
Next
Print sum
----------------------
展开阅读全文