一些題目


數組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~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

窗體底端

隨機產生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

窗體底端

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

窗體底端

挑出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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM