现有两个等长的升序序列,求升序合并这两个序列后的中位数。(一个长度为L的升序序列,处在L\2位置上的数是中位数)算法如下:
设A和B的中位数分别是Am和Bm.
(1)若Am=Bm;则Am就是中位数,结束。
(2)若Am<Bm;则舍弃A中较小的一半(若序列个数是偶数,则中位数也包含在这一半里,奇数则不包含在里面),B中较大的一半。
(3)若Am>Bm;则舍弃A中较大的一半,B中较小的一半(含中位数)重复上述过程(1),(2),(3);直至两个序列中均只剩一个元素,则较小的即为中位数。

如序列A{2,5,59,62},序列B{11,18,68,72},A序列中位数5<B序列中位数18;舍去A序列较小的一半保留{59,62},B序列保留{11,18},接着,中位数59>11,舍去A序列较大的一半保留{59},B序列保留{18},最后两个序列中均只剩一个元素,则较小的即为中位数,因此结果为18,程序运行界面如图:

(1)要使程序运行时,窗体标题自动改为“求中位数”,可以在Form_Load ( )( )事件中添加 AA(单选,填字母:A.Forml.Caption=“求中位数”/B.Form.Caption=“求中位数”/C.Forml.Name=“求中位数”/D.Form.Name=“求中位数”)语句。
(2)实现上述功能的VB程序如下,请在横线处填入合适代码。
(3)程序中加框处代码有错,请改正。


【考点】面向对象的程序设计语言.
【答案】( );A
【解答】
【点评】
声明:本试题解析著作权属菁优网所有,未经书面同意,不得复制发布。
发布:2024/4/20 14:35:0组卷:0引用:1难度:0.3
相似题
-
1.报名抽签。小明编写了报名抽签的VB程序。程序运行时,从数据库中读取全体学生的学号和姓名数据;报名时,在文本框Text1中输入报名学生的学号,按下回车键后进行查询,若是未报名的,将该报名人的信息显示在列表框List1中;报名完成后,在文本框Text2中输入抽签人数,单击“抽签”按钮Command1,在列表框List2中显示随机抽签结果,程序运行界面如图所示。请回答下列问题:
(1)以下代码中语句“List2.AddItem xm2(ch)”中的AddItem是
(2)请在横线处填入合适的代码。发布:2025/1/2 10:30:2组卷:0引用:1难度:0.4 -
2.近似公式求自然对数的底e的值,直到最后一项的值小于10-5为止。e≈1+
,小李为此编写了如下VB程序段:11!+12!+13!+14!+⋯+1n!
方框中的代码由以下三部分组成:
①i=i+1 ②jc=jc*I ③e=e+1/jc
下列选项中代码顺序正确的是( )发布:2025/1/2 11:0:1组卷:3引用:2难度:0.4 -
3.下列程序的运行结果是( )
发布:2025/1/2 11:0:1组卷:1引用:2难度:0.5