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

admin2018-06-29  21

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

选项

答案步骤1:打开本题工程文件,设置控件的属性。程序中用到的控件及属性见表3.55。 [*] 步骤2:打开代码编辑窗口,去掉程序中的注释符“’’,将问题改为正确的内容。 参考答案 Option Base l Dim a(20)As Integer,b(20)As Integer priVate Sub Cmdl_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 F0r i=1 T0 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中出现频率最高的数值及其出现的次数,并把出现的次数赋值给数组h,通过对数组b中数值的排序,找出最高次数,并通过判断最高次数的值,找出出现频率最高的数值,并将其数值显示在Text2文本框内,将出现次数显示在Text3文本框内。单击“退出”按钮,运用End语句结束程序运行。Str函数将数值转化为字符串,Val()函数是将字符转换为数值。Space(n)函数用于输入空格,n为空格的个数。Fix()函数用于截尾取整,生成整数。
转载请注明原文地址:https://kaotiyun.com/show/jdGp777K
0

最新回复(0)