數組A中存儲了15個評委對某參賽歌手的評分,去掉一個最高分和一個最低分,求該選手的實際平均得分。(5.0分)
窗體頂端
我的答案
Private Sub Form_Click()
Dim i%, a(15) As Single, max!, min!, s%
For i = 0 To 14
a(i) = InputBox("")
Next i
max = a(0)
min = a(0)
For i = 0 To 14
If max < a(i) Then
max = a(i)
If min > a(i) Then
min = a(i)
End If
End If
Next i
For i = 0 To 14
s = s + a(i)
Next i
Print (s - max - min) / 13
End Sub
窗體底端
10
從鍵盤上輸入兩個數m和n,求兩個數的最大公約數。(5.0分)
窗體頂端
我的答案
Public Function gcd(a As Integer, b As Integer)
If b = 0 Then
gcd = 1
End If
If a Mod b = 0 Then
gcd = b
Else
gcd = gcd(b, a Mod b)
End If
End Function
Private Sub Form_Click()
Dim m%, n%
m = InputBox("")
n = InputBox("")
Print gcd(m, n)
End Sub
窗體底端
11
稅務部門征收所得稅,規定如下: (1)全年應納所得額在3 6000元內,稅率3%; (2)全年應納所得額在3 6000元至14 4000元內,超出3 6000元部分稅率10%; (3)全年應納所得額在14 4000元至30 0000元內,超出14 4000元部分稅率20%; (4)全年應納所得額在30 0000元至42 0000元內,超出30 0000元部分稅率25%; (5)全年應納所得額在42 0000元至66 0000元內,超出42 0000元部分稅率30%;(5.0分)
窗體頂端
我的答案
Private Sub Form_Click()
Dim salary!, tax%
salary = InputBox("")
If salary <= 36000 Then
tax = salary * 0.03
ElseIf salary <= 144000 Then
tax = (salary - 36000) * 0.1 + 36000 * 0.03
ElseIf salary <= 300000 Then
tax = 36000 * 0.03 + (144000 - 36000) * 0.1 + (salary - 144000) * 0.2
ElseIf salary <= 420000 Then
tax = 36000 * 0.03 + (144000 - 36000) * 0.1 + (300000 - 144000) * 0.2 + (salary - 300000) * 0.25
ElseIf salary <= 660000 Then
tax = 36000 * 0.03 + (144000 - 36000) * 0.1 + (300000 - 144000) * 0.2 + (420000 - 300000) * 0.25 + (salary - 420000) * 0.3
End If
Print "所得稅為:" & tax
End Sub
窗體底端
12
三色球問題。若一個口袋中放有12個球,其中3個紅色的,3個白色的,6個黑色的,從中任意選擇八個球,問
共有幾種不同的顏色搭配?(5.0分)
窗體頂端
我的答案
Private Sub Form_Click()
Dim i%, j%, c%
For i = 1 To 3
For j = 1 To 3
For k = 1 To 6
If i + j + k = 8 Then
Print "紅球:"; i; "白球:"; j; "黑球:"; k
c = c + 1
End If
Next k
Next j
Next i
Print "共有" & c & "種方案"
End Sub
窗體底端
13
從鍵盤上輸入3個整數,輸出其中的最大值、最小值和平均值。(5.0分)
窗體頂端
我的答案
Private Sub Form_Click()
Dim a%, b%, c%, max%, min%
a = InputBox("")
b = InputBox("")
c = InputBox("")
max = a
min = a
If (max < b) Then
max = b
End If
If (max < c) Then
max = c
End If
If (min > b) Then
min = b
End If
If (min > c) Then
min = c
End If
Print "最大值:" & max
Print "最小值:" & min
Print "平均值:" & (a + b + c) / 3
End Sub
窗體底端
14
輸出[100,9999]區間的所有回文數,每行輸出10項,分多行輸出。要求使用Function過程進行回文數判斷。(5.0分)
窗體頂端
我的答案
Public Function hws(a As Integer)
If StrReverse(a) = a Then
hws = 1
Else: hws = 0
End If
End Function
Private Sub form_Click()
Dim i%
For i = 100 To 9999
If hws(i) = 1 Then
Print i;
n = n + 1
If n Mod 10 = 0 Then Print
End If
Next i
End Sub
窗體底端
15
在一個一維數組中有相同元素,出現次數最多的元素稱為眾數。編程序在包含(10,5,0,-1,5,0,5,10,5,0)10個元素的數組找出眾數並輸出。 提示:用雙重循環統計每個數出現的次數。(5.0分)
窗體頂端
我的答案
窗體底端
1
求1~100之間的所有質數,將質數的個數顯示在窗體上,質數從小到大依次寫入順序文件 c:\dataout.txt 中,在划線處填上缺少的內容(5.0分)
窗體頂端
我的答案
Public Function susu(a As Integer)
Dim v As Boolean
v = False:
n = 2
Do While n <= Sqr(a) And v = False
If a Mod n = 0 Then
v = True
Else: n = n + 1
End If
Loop
If v = False Then
susu = 1
Else: susu = 0
End If
End Function
Private Sub Form_Click()
Dim i%, c%
c = 0
Open "C:\dataout.txt" For Output As #1
For i = 1 To 100
If susu(i) = 1 Then
Print #1, i;
End If
Next i
Close #1
End Sub
窗體底端
2
隨機產生30個30~100之間的隨機整數作為學生成績,將成績從大到小排序后存入順序文件file1.txt中。(5.0分)
窗體頂端
我的答案
Public Function ff(a As Integer)
If a Mod 10 = (a Mod 1000) \ 100 Then
ff = 1
Else: ff = 0
End If
End Function
Private Sub Form_Click()
Dim grade(30) As Integer, t%
Open "file1.txt" For Output As #1
For i = 0 To 29
grade(i) = Int(Rnd * 71 + 30)
Next i
For i = 0 To 28
For J = i To 29
If grade(i) > grade(J) Then
t = grade(i)
grade(i) = grade(J)
grade(J) = t
End If
Next J
Next i
For i = 0 To 29
Print #1, grade(i);
Next i
Close #1
End Sub
窗體底端
3
將1000-2000之間的素數找出來,寫入到順序文件c:\ss.txt中。(5.0分)
窗體頂端
我的答案
Public Function susu(a As Integer)
Dim v As Boolean
v = False:
n = 2
Do While n <= Sqr(a) And v = False
If a Mod n = 0 Then
v = True
Else: n = n + 1
End If
Loop
If v = False Then
susu = 1
Else: susu = 0
End If
End Function
Private Sub Form_Click()
Dim i%, c%
c = 0
Open "d:\ss.txt" For Output As #1
For i = 1000 To 2000
If susu(i) = 1 Then
Print #1, i;
End If
Next i
Close #1
End Sub
窗體底端
4
挑出1000~9999之間所有個位和百位為奇數的數據存入順序文件file1.txt中。(5.0分)
窗體頂端
我的答案
Public Function ff(a As Integer)
If a Mod 10 = (a Mod 1000) \ 100 Then
ff = 1
Else: ff = 0
End If
End Function
Private Sub Form_Click()
Dim i%, c%
c = 0
Open "file1.txt" For Output As #1
For i = 1000 To 9999
If ff(i) = 1 Then
Print #1, i;
End If
Next i
Close #1
End Sub