江西财经大学数据库书上习题八答案(2)

2018-11-28 18:13

* ****** *** ****** **** ****** ***** ****** ****** ******

8)使用数组输入十个评委的评分,要求去除最高分、最低分,求应试者的最后得分。

解答:

Public Sub exer848()

Dim score(1 To 10) As Double Dim i As Integer

Dim min, max, sum As Double For i = 1 To 10

score(i) = Val(InputBox(\输入分数\Next

min = score(1) max = score(1) For i = 1 To 10

sum = sum + score(i) If score(i) > max Then max = score(i) End If

If score(i) < min Then min = score(i) End If Next

sum = sum - max - min

Debug.Print \最后得分为\End Sub

9)编程求2到100间的所有素数,并求它们的和。

10)使用循环嵌套语句编程求:在0至999的范围内,找出所有这样的数,其值等于该数中各位数字的立方和。如:153 = 12+52+32

解答1:

Public Sub exer8410() Dim a, b, c As Integer Dim num, sum As Integer For num = 1 To 999

a = num \\ 100 '也可用int(num/100) b = (num Mod 100) \\ 10 c = num Mod 10

If a ^ 3 + b ^ 3 + c ^ 3 = num Then Debug.Print num

* *** ***** *******

End If Next num End Sub

解答2:

Public Sub exer8410b() Dim a, b, c As Integer Dim num, sum As Integer For a = 0 To 9

For b = 0 To 9 For c = 0 To 9

num = 100 * a + 10 * b + c

If num > 0 And num = a ^ 3 + b ^ 3 + c ^ 3 Then Debug.Print num End If Next c Next b Next a End Sub

11)有一个分数数列:,,,,23581321,,?1235813求出这个数列前20项之和。

解答:

Public Sub exer8411() Dim i, a, b As Integer Dim sum As Double a = 2 b = 1

For i = 1 To 20

sum = sum + a / b a = a + b b = a - b Next i

Debug.Print sum End Sub

12)已知二年期人民币整存整取年利率为2.25%,王大妈选择二年期整存整取,存款金额10000元,她希望有1000元以上的净利息。由于银行对最后的利息征20%所得税,故至少要税前为1250元利息,才有1000元的净利息。请你编程帮王大妈算一算,要存几年才能达到她的目标。

解答:

Public Sub exer8412() Dim i As Integer Dim m As Double

m = 10000 i = 0

Do While m < 11250

m = m * (1 + 0.0225) i = i + 1

Debug.Print m Loop

Debug.Print i * 2 End Sub

13)编写一个过程Swap,实现两个数据交换功能。调用该过程求随机生成的60-100间30个数中最大数和最小数。

解答:

Public Sub exer8413()

Dim a(1 To 30), t As Integer Dim i, j As Integer For i = 1 To 30

a(i) = Int(Rnd * 40 + 60) Debug.Print a(i) Next

For i = 1 To 30

For j = 1 To 30 - i

If a(j) > a(j + 1) Then

t = a(j): a(j) = a(j + 1): a(j + 1) = t End If Next j Next i

Debug.Print \最大值为\Debug.Print \最小值为\End Sub

14)输入两个正整数m和n,求其最大公约数和最小公倍数。 解答1:枚举法

Public Sub exer8414() Dim m, n As Integer Dim i, j, a, b As Integer

m = Val(InputBox(\输入一个值\n = Val(InputBox(\输入另一个值\'求最大公约数 If m > n Then

a = m: m = n: n = a End If

For i = 2 To m

If m Mod i = 0 And n Mod i = 0 Then

a = i End If Next i i = n

Do While True

If i Mod m = 0 And i Mod n = 0 Then b = i Exit Do End If i = i + 1 Loop

Debug.Print \最大公约数为\Debug.Print \最小公倍数为\End Sub

解答2:辗转相除法

辗转相除法是利用以下性质来确定两个正整数 a 和 b 的最大公约数的: 1. 若 r 是 a ÷ b 的余数, 则

gcd(a,b) = gcd(b,r)

2. a 和其倍数之最大公约数为 a。

两个数的最大公约数和最小公倍数有着下列关系:

最大公约数×最小公倍数=两数的乘积

Public Sub exer8414b() Dim m, n, t As Integer Dim a, b As Integer

m = Val(InputBox(\输入一个值\n = Val(InputBox(\输入另一个值\'求最大公约数 If m > n Then a = n: b = m Else

a = m: b = n End If

Do While True t = b Mod a If t = 0 Then Exit Do Else

b = a a = t End If

Loop

b = m * n / a

Debug.Print Str(m) & Str(n) & \最大公约数为\Debug.Print Str(m) & Str(n) & \最小公倍数为\End Sub

15)有M个人围成一圈,每人—个的编号(1,2,3,?,M),从第—个人数起,报到N时这个人就出圈,再继续数,报到第N个又出圈,出圈人的位置不再数,直到只剩下一个人为止,排出出圈人的顺序。

解答:

Public Sub exer8415() Dim m, n As Integer

Dim i, j, count, leave As Integer m = Val(InputBox(\输入人数\n = Val(InputBox(\输入报数\ReDim a(1 To m) As Integer For i = 1 To m a(i) = i Next i i = 1

count = 0 leave = 0

Do While leave < m If a(i) > 0 Then

count = count + 1 If count = n Then Debug.Print a(i) a(i) = 0 count = 0

leave = leave + 1 End If End If i = i + 1

If i > m Then

i = i Mod m + 1 i = i Mod m

End If Loop End Sub

Public Sub exer8415() Dim m, n As Integer

Dim i, j, count, leave As Integer m = Val(InputBox(\输入人数\n = Val(InputBox(\输入报数\

ReDim a(1 To m) As Integer For i = 1 To m a(i) = i Next i i = 1

count = 0 leave = 0

Do While leave < m count = 1

Do While count <= n Do Until a(i) > 0 i = i + 1

If i > m Then i = i Mod m End If Loop

Debug.Print count; a(i) If count = n Then Debug.Print a(i) a(i) = 0 End If

count = count + 1 i = i + 1

If i > m Then i = i Mod m End If Loop

leave = leave + 1 Loop End Sub


江西财经大学数据库书上习题八答案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:oracle练习及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: