Dim pjf As Integer Randomize pjf = 0
For k = 1 To 30
'**********FOUND********** a = Int(Rnd()) Select Case a Case 0 To 59
bjg = bjg + 1 '不及格 Case 60 To 69
jg = jg + 1 '及格 Case 70 To 79
zd = zd + 1 '中等 Case 80 To 89
lh = lh + 1 '良好 Case 90 To 100 yx = yx + 1 '优秀
'**********FOUND********** pjf = pjf + 1 End Select Next k
'**********FOUND********** If yx > 0 Then pjf = pjf / 30
Debug.Print \不及格\人,及格\人,中等\+ \人\
Debug.Print \良好\优秀\人\ Debug.Print \优秀分数段成绩平均分\End Sub 答案:
=======(答案1)======= a = Int( Rnd() * 100) =========或========= a = Int( Rnd * 100)
=======(答案2)======= pjf = pjf + a
=======(答案3)======= If yx > 0 Then pjf = pjf / yx
第17题 (1.0分)
'------------------------------------------------ '【程序改错】
'------------------------------------------------
'题目:挑选单数并排序程序:程序启动后由计算机自动产 ' 生20个属于[100,300]之间的随机整数,单击\显 ' 示全体\按钮时,在Form1上显示这20个随机数; ' 单击\显示奇数\按钮时,在Form1上显示其中的奇数; ' 单击\排序\按钮时,在Form1上将这些奇数从小到大显示。 ' 要求显示格式为每行显示5个数据。
'------------------------------------------------ Option Explicit
Private a(20) As Integer, b(20) As Integer Private k As Integer Private Sub cmdodd_Click() Dim I As Integer k = 0
For I = 1 To 20
'**********FOUND********** If a(I) / 2 = Int(a(I) / 2) Then k = k + 1 b(k) = a(I) End If Next I
For I = 1 To k Print b(I);
'**********FOUND********** If Int(I / 5) <> I / 5 Then Print Next I Print End Sub
Private Sub cmdAll_Click() Randomize Dim I As Integer For I = 1 To 20
'**********FOUND********** a(I) = Int(Rnd() * 20 + 100) Print a(I),
If Int(I / 5) = I / 5 Then Print Next I Print End Sub
Private Sub cmdsort_Click() Dim I As Integer Dim J As Integer Dim Temp As Integer For I = 1 To k - 1 For J = I To k
If b(I) > b(J) Then Temp = b(I): b(I) = b(J): b(J) = Temp Next J Next I
For I = 1 To k Print b(I);
If Int(I / 5) = I / 5 Then Print Next I End Sub 答案:
=======(答案1)=======
If a(I) / 2 <> Int(a(I) / 2) Then =========或========= If a(I) mod 2 <>0 Then =========或========= If 0<>a(I) mod 2 Then =========或========= If a(I) / 2 <> a(I)\\ 2 Then =========或=========
If int(a(I) / 2) <> a(I) / 2 Then =========或========= If a(I) \\ 2 <> a(I)/2 Then
=======(答案2)=======
If Int(I / 5) = I / 5 Then Print =========或========= If I mod 5 = 0 Then Print =========或========= If 0 = I mod 5 Then Print =========或=========
If I / 5= int(I / 5) Then Print =========或========= If I / 5= I\\ 5 Then Print =========或========= If I \\5= I/ 5 Then Print
=======(答案3)======= a(I) = Int(Rnd() * 200 + 100)
第19题 (1.0分)
'------------------------------------------------ '【程序改错】
'------------------------------------------------
'题目:编程将一个数从已经有序(设从小到大排序)的数组 ' 中删除,使数组还继续保持有序而且其余元素按照下 ' 标连续存放。
'------------------------------------------------ Option Explicit
Private Sub Form_Click()
Dim A() As Integer, N As Integer, Flag As Integer Dim i As Integer, X As Integer, P As Integer Flag = 0
N = InputBox(\输入元素个数\ '**********FOUND********** Dim A(N) For i = 1 To N
A(i) = InputBox(\输入数组的第\个元素\ Next i
Print \删除某元素前的数组\ For i = 1 To N Print A(i); Next i Start:
X = InputBox(\输入要删除的元素:\ For i = 1 To N
If X = A(i) Then P = i: Flag = 1 Next i
If Flag = 0 Then MsgBox (\没有此元素\ For i = P To N - 1
'**********FOUND********** A(i + 1) = A(i) Next i
'**********FOUND********** N = N + 1
Print \删除元素后的数组:\ For i = 1 To N
Print A(i); Next i End Sub 答案:
=======(答案1)======= ReDim A(N)
=======(答案2)======= A(i) = A(i + 1) =========或========= A(i) = A(1 + i)
=======(答案3)======= N = N - 1
第20题 (1.0分)
'------------------------------------------------ '【程序改错】
'------------------------------------------------
'题目:随机产生并输出100以内大于50的20个整数,输 ' 出时每5个数一行。
'------------------------------------------------ Option Explicit
Private Sub Form_Click() Randomize Timer
Dim i As Integer, ma As Integer '**********FOUND********** i = 1
'**********FOUND********** Do Until i < 20
ma = Rnd() * 100 \\ 1 If ma > 50 Then Print ma; i = i + 1
'**********FOUND********** If i \\ 5 = 0 Then Print End If End If Loop