在考生文件夹下有一个工程文件sjt5.vbp,窗体上有三个文本框,其名称分别为Text1、Text2和Text3,其中Text1、Text2可多行显示。清添加三个命令按钮,名称分别为Cmd1、Cmd2和Cmd3,标题分别为“产生数组”、“统计”和“退出”,

admin2019-06-24  25

问题 在考生文件夹下有一个工程文件sjt5.vbp,窗体上有三个文本框,其名称分别为Text1、Text2和Text3,其中Text1、Text2可多行显示。清添加三个命令按钮,名称分别为Cmd1、Cmd2和Cmd3,标题分别为“产生数组”、“统计”和“退出”,如图所示。程序功能如下:
    ①单击“产生数组”按钮时,随机生成20个0—10之间(不含0和10)的数值,并将其保存到一维数组a中,同时也将这20个数值在Text1文本框内显示。
    ②单击“统计”按钮时,统计出数组a中出现频率最高的数值及其出现的次数,并将出现频率最高的数值在Text2文本框内显示、出现频率最高的次数在Text3文本框内显示。
    ③单击“退出”按钮时,结束程序运行。
    注意:不得修改窗体文件中已经存在的控件和程序,最后将修改后的文件按原文件名存盘。
        

选项

答案【操作步骤】 步骤1:打开本题工程文件,设置控件的属性。程序中用到的控件及属性见表4.55。 [*] 步骤2:打开代码编辑窗口,去掉程序中的注释符“’”,将问题改为正确的内容。 参考答案(画线部分是需考生填入的内容) Option Base 1 Dim a(20)As Integer,b(20)As Integer Private Sub Cmd1_Click() Text1.Text="":Text2.Text="":Text3.Text="" For i=1 To 20 a(i) =Fix(Rnd* 9 +1)’生成0~10的数值并存入数组a中 b(i) =1 Text1.Text=Text1.Text+str(a(i)) +Space(2)’将生成的数显示在Text1中 Next i End Sub Private Sub Cmd2 Click() fmax=0 For i=1 To 20 For j=1 To i-1’数组共有20个数字 If a(i)=a(j)Then b(i)=b(i)+1’依次存入对应数出现的频率 End If Next j If b(i) > fmax Then fmax = b(i)’该次得到的数出现频率与目前出现频率最多的数比较,若大于目前的数。则将最大的数改为该次得到的数 Next 1 For i=1 To 20 If b(i)=fmax Then’从数组中找到与fmax相同的值 Text2.Text=Text2.Text+Str(a(i))+Space(2) End If Next i Text3.Text=fmax End Sub Private Sub Cmd3_Click() End’当单击"结束"按纽时,则退出程序 End Sub 步骤3:调试并运行程序,关闭程序后按题目要求存盘。

解析 单击“产生数组”按钮时,通过Rnd函数随机生成20个0~10(不含0和10)的数值,并将其保存到一维数组a中,同时运用Space()函数和str()函数将这20个数值显示在Text1文本框内。单击“统计”按钮时,统计出数组a中出现频率最高的数值及其出现的次数,并把出现的次数赋值给数组b,通过对数组b中数值的排序,找出最高次数,并通过判断最高次数的值,找出出现频率最高的数值,并将其数值显示在Text2文本框内,将出现次数显示在Text3文本框内。单击“退出”按钮,运用End语句结束程序运行。str函数将数值转化为字符串,Val()函数是将字符转换为数值。Space(n)函数用于输入空格,n为空格的个数。Fix()函数用于截尾取整,生成整数。
转载请注明原文地址:https://kaotiyun.com/show/WqUp777K
0

相关试题推荐
最新回复(0)