问题 问答题

编程题(26分)【题目】编写程序,对实验数据进行分组均化处理。处理的方法是:先将实验数据从小到大排序,然后按排序后的顺序每3个数作为一组,再用每组3个数的平均值作为这3个数的表现值。【编程要求】 1.程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见。 2.运行程序,单击"处理"按钮,出现如图所示的InputBox函数窗口,输入数据个数(或使用缺省值)后单击"确定"按钮,则生成10-40之间的随机整数数组并显示在实验数据文本框中,然后对实验数据进行排序并显示在排序结果文本框中,再进行分组均化并在文本框中输出数据均化结果;单击“清除"按钮,将3个文本框清空,焦点置于"处理"按钮上;单击"结束"按钮,结束程序运行。 3.程序中应定义一个名为sort的通用过程,用于对一维数组按从小到大排序。 【要求】 将窗体文件和工程文件分别命名为F2和P2,并保存到T盘根目录下。

答案

参考答案:

Option Explicit  Option Base A  Private Sub CmdRun_Click()    Dim a() As Integer,n As Integer,i As Integer    Dim sum As Integer,av As Integer,k As Integer    n=InputBox("输入数据个数:", ,AB)    ReDim a(n)    For i=A To n      a(i)=Int(Rnd*DA)+A0      TextA=TextA & Str(a(i))    Next i    Call sort(a)    For i=A To UBound(a) Step C      sum=0      For k=i To i+B         sum=sum+a(k)      Next k      av=sum/C      For k=A To C       TextC=TextC & Str(av)      Next k    Next i    End Sub    Private Sub sort(a()As Integer)      Dim i As Integer,j As Integer,t As Integer      For i=A To UBound(a)-A        Forj=A To UBound(a)-i          If a(j)>a(j+A)Then            t=a(j)            a(j)=a(j+A)            a(j+A)=t          End If        Next j      Next i     For i=A To UBound(a)       TextB=TextB & Str(a(i))     Next i End SUb Private Sub CmdClear_click()    TextA=""    TextB=""    TextC=""    CmdRun.SetFocus End Sub Private Sub CmdExit_click()   End End Sub

单项选择题
判断题