《数据库课后习题答案.doc》由会员分享,可在线阅读,更多相关《数据库课后习题答案.doc(4页珍藏版)》请在三一办公上搜索。
1、1(1)Public Sub qiuz1() Dim x, y, z As Double x = Val(InputBox(请输入x) y = Val(InputBox(请输入y) Select Case x Case Is y And (y 0) z = x / y End Select Debug.Print z为: & Str(z)End Sub(2)Public Sub qiuz() Dim x, y, z As Double x = Val(InputBox(请输入x) y = Val(InputBox(请输入y) If x y And y 0) Then z = x / y End
2、 IfDebug.Print z为: & Str(z)End Sub2. Public Sub qiugen() Dim a, b, c, d1, d2 As Double a = Val(InputBox(请输入a) Do While (a = 0) MsgBox (输入错误) a = Val(InputBox(请重新输入a) Loop b = Val(InputBox(请输入b) c = Val(InputBox(请输入c)If b * b - 4 * a * c 0 Then Debug.Print 无解 Else d1 = (-1 * b + Sqr(b * b - 4 * a * c
3、) / (2 * a) d2 = (-1 * b - Sqr(b * b - 4 * a * c) / (2 * a) Debug.Print 第一个根为: & Str(d1) Debug.Print 第二个根为: & Str(d2) End If End Sub3. Public Sub dayinweek() Dim x As Integer x = Val(InputBox(请输入x) Do While (x 6) MsgBox (输入错误) x = Val(InputBox(请重新输入x) Loop If x = -1 Then Exit Sub ElseIf x = 0 Then D
4、ebug.Print 星期天 ElseIf x = 1 Then Debug.Print 星期一 ElseIf x = 2 Then Debug.Print 星期二 ElseIf x = 3 Then Debug.Print 星期三 ElseIf x = 4 Then Debug.Print 星期四 ElseIf x = 5 Then Debug.Print 星期五 ElseIf x = 6 Then Debug.Print 星期六 End If End Sub4. Public Sub xinglifee() Dim nianli, zhongliang, goli, feiyong As
5、Double nianli = Val(InputBox(请输入年龄) zhongliang = Val(InputBox(请输入重量) goli = Val(InputBox(请输入百公里数) If nianli 18 Then Rem 未成年 If zhongliang 10 Then Rem 未成年免费 feiyong = 0 Else Rem 未成年收费 If goli * 100 Mod 100 = 0 Then Rem 百公里整除收费 feiyong = goli * (zhongliang - 10) * 0.2 Else Rem 百公里不整除收费 feiyong = (Int(
6、goli) + 1) * (zhongliang - 10) * 0.2 End If End If Else Rem 成年 If zhongliang 20 Then Rem 成年免费 feiyong = 0 Else Rem 成年收费 If goli * 100 Mod 100 = 0 Then Rem 百公里整除收费 feiyong = goli * (zhongliang - 20) * 0.2 Else Rem 百公里不整除收费 feiyong = (Int(goli) + 1) * (zhongliang - 20) * 0.2 End If End If End If Debug
7、.Print 应收费用为: & Str(feiyong)End Sub5. (1)Public Sub qiuhe() Dim i, j, sum, sumnei As Integer sum = 0 For i = 1 To 10 sumnei = 0 For j = 1 To i sumnei = sumnei + j Next sum = sum + sumnei NextDebug.Print 和为: & Str(sum)End Sub(2)Public Sub qiujiechenghe() Dim i, j, sum, sumnei As Double sum = 0 For i
8、= 1 To 10 sumnei = 1 For j = 1 To i sumnei = sumnei * j Next sum = sum + sumnei Next Debug.Print 阶乘的和为: & Str(sum)End Sub6. Public Sub qiu6() Dim i, sum As Integer sum = 0 For i = 100 To 200 If (i Mod 3 = 0) And (i Mod 5 = 0) Then sum = sum + 1 Debug.Print i= & Str(i) End If NextDebug.Print 被3整除又被5整
9、除数的个数为: & Str(sum)End Sub7.(2)Public Sub dayinxing2() Dim i, j As Integer For i = 1 To 9 Debug.Print Next Debug.Print Tab(20); * For i = 3 To 6 Debug.Print Tab(20 - i + 1); For j = 1 To i Debug.Print *; Next Debug.Print NextEnd Sub(3)Public Sub dayinxing() Dim i, j As Integer For i = 1 To 9 Debug.Pr
10、int Next For i = 1 To 5 Debug.Print Tab(21 - i); * NextEnd Sub8. Public Sub qiudefen() Dim i, sum, defen, score(1 To 10), zhongfen, maxs, mins As Double sum = 0 For i = 1 To 10 score(i) = Val(InputBox(请输入第 & Str(i) & 个分数) sum = sum + score(i) Nextmaxs = score(1) mins = score(1) For i = 2 To 10 If ma
11、xs score(i) Then mins = score(i) End If Next defen = (sum - maxs - mins) / 8 Debug.Print 最后得分为: & Str(defen)End Sub9. Public Sub qiusushu() Dim i, j, sum As Integer Dim flag As Boolean sum = 0 For i = 2 To 100 flag = True For j = 2 To Int(i / 2) If (i Mod j = 0) Then flag = False Exit For End If Nex
12、t If flag Then sum = sum + i Debug.Print 素数为: & Str(i) End If NextDebug.Print 全部素数和为: & Str(sum)End Sub10,, Public Sub shuixianhua() Dim i, g, s, b As Integer For i = 0 To 999 g = i Mod 10 s = i 10 Mod 10 b = i 100 If i = g 3 + s 3 + b 3 Then Debug.Print 水仙花数为: & Str(i) End If NextEnd Sub12. Public
13、Sub lixi() Dim i, sum As Double sum = 10000 i = 0 Do While sum n Then maxs = m mins = n Else maxs = n mins = m End If For i = maxs To 1 Step -1 If (m Mod i = 0) And (n Mod i = 0) Then Debug.Print 最大公约数为: & Str(i) Exit For End If Next For i = maxs To m * n If (i Mod m = 0) And (i Mod n = 0) Then Debu
14、g.Print 最小公倍数为: & Str(i) Exit For End If NextEnd Sub5.Public Sub 求和() Dim i, s As Integer i = 1 s = 0 Do While i = 10 Debug.Print i s = s + (1 + i) * i) / 2 Debug.Print s i = i + 1 Loop Debug.Print s的值为: & Str(s)End Sub7. Public Sub 求星型输出() Dim i, j As Integer For i = 1 To 9 Debug.Print Next For i =
15、 1 To 4 Debug.Print Tab(20); *; For j = 1 To 2 * i - 2 Debug.Print *; Next j Debug.Print Next i Debug.PrintEnd Sub(2)Public Sub 星型输出() Dim i, j As Integer For i = 1 To 9 Debug.Print Next Debug.Print Tab(20); *; For i = 1 To 4 Debug.Print Tab(19 - i); *; For j = 1 To i + 1 Debug.Print *; Next j Debug.Print Next iEnd Sub