阅读以下说明和流程图,回答问题将解答填入对应栏。 [说明] 下面的流程图,用来完成计算一组数组中的中值,其方法是:将数组中的一个值与其他值比较,并计算大于等于被比较数的数值的个数,以及小于等于被比较数的数值的个数,如果两数都大于n/2,则已

admin2010-12-16  34

问题 阅读以下说明和流程图,回答问题将解答填入对应栏。
   [说明]
   下面的流程图,用来完成计算一组数组中的中值,其方法是:将数组中的一个值与其他值比较,并计算大于等于被比较数的数值的个数,以及小于等于被比较数的数值的个数,如果两数都大于n/2,则已经找到了中值,否则继续之前的步骤。
   注:流程中循环开始的说明按照“循环变量:循环初值,循环终值,增量”格式描述;
   
   [问题]
   将流程图的(1)~(5)处补充完整。

选项

答案(1) j=-1; (2) x[j]!=x[i]; (3) count_lower++; (4) count_lower<(n/2.0)||count higher(n/2.0); (5) x[j];

解析 本题目考查流程图。
   算法描述在题目中已经详细给出,通过阅读题目可知j用来定位数组中一个被比较的数,i用来循环遍历数组中所有的数。j应该从第0个数开始,又由于要执行一步j=j+1,所以(1)中应填入“j=-1”,counUligher++说明遍历的数比被比较的数大,即(2)中应填入“x[j]!=x”相应的,(3)中就应填入“count_lower++”,题目说明中已经指出,当count_lower和count_higher都大于n/2时,就说明找到了中值,所以(4)应当填入“count_lower<(n/2.0)][count_higher(n/2.0)”,最后,如果循环结束,则x就应该是中值,(5)中应填入“x[j]”。
转载请注明原文地址:https://kaotiyun.com/show/dBjZ777K
0

最新回复(0)