首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。 例如,有9个正整数:1 5 7 23
给定程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。 例如,有9个正整数:1 5 7 23
admin
2016-12-06
100
问题
给定程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。
例如,有9个正整数:1 5 7 23 87 5 8 21 45
按升序排列时的中间数为:8
处理后主函数中输出的数列为:8 8 8 23 87 8 8 21 45
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
试题程序:
1 #inclucte<stdio.h>
2 #define N 9
3 int fun(int x[])
4 {int i,j,k,t,mid,b[N];
5 for(i=0;i<N;i++)
6 b
=x
;
7 for(i=0;i<=N/2;i++)
8 {k=i;
9 for(j=i+l;j<N;j++)
10 if(b[k]>b[j])k=j;
11 if(k!=i)
12 {
13 /*********found*********/
14 t=b
;b
=
【1】
;
15 b[k]=t;
16 }
17 }
18 /*********found*********/
19 mid=b[
【2】
];
20 for(i=0;i<N;i++)
21 /*********found*********/
22 if(x
【3】
mid)x
-mid;
23 return mid;
24 }
25 main()
26 {int i,x[N]={1,5,7,23,87,5,8,21,45};
27 for(i=0;i<N;i++)
28 printf(’’%d’’,x
);
29 printf(’’\nThe mid data is:%d\n’’,fun(x));
30 for(i=0;i<N;i++)
31 printf(’’%d’’,x
);
32 printf(’’\n’’);
33 }
选项
答案
(1)b[k] (2)4或N/2 (3)<
解析
数组中的9个数任意排列,要找到按升序排列时处于中间位置的数,应首先对数组进行升序排列。因为只需找到中间位置的数即可,故不必对整个数组进行排序,只需要排列出数组的前半部分。找到中间数后,遍历原数组,将小丁中问数的冗素进行替换。
填空1:利用选择算法排序,先指定一个元素为最小,用这个数与其后的所有数进行比较,若找小于此数,则进行替换。此处考查替换操作。
填空2:元素mid存放中间位置的数,数组长度为9,因此中间元素数为b[4]。
填空3:遍历数组,当元素小于中间位置的数(即mid)时,进行替换。
转载请注明原文地址:https://kaotiyun.com/show/fVDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
已知下面的程序段,正确的判断是______。#defineA3#defineB(A)(A+1)*a)inta=3;……X=3*(A+B(7));
以下程序的输出是【】。main(){charstr1[]=Howdoyoudo",*p=strl;strcpy(str1+strlen(str1)\2"esshe");pfinff("
设Y是int型变量,请写出判断Y为奇数的关系表达式【】。
有以下函数定义:voidfun(intn,doublex){…}若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是______。
有以下程序:main(){inti=0,s=0;do{if(i%2){i++;continue;}i++;
以下程序中,函数SumColumMin的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。#defineM2#defineN4
设有定义语句:intx[6]={2,4,6,8,5,7},*p=x,i;要求依次输出x数组6个元素中的值,不能完成此操作的语句是______。
有以下程序:main(){inta[3][3],*p,i;p=&a[0][0];for(i=0;i<9;i++)p[i]=i;for(i=0;i<3;i++)printf("%d",a[1][
以下程序的输出结果是______。#defineSQR(X)X*Xmain(){inta=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("d\n",a);}
下述函数统计字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。intword(char*s){intnum=0,flag=0;while(*s){if(【】="
随机试题
合成嘌呤环的氨基酸为
处方用药适宜性的审核内容不包括
案情:昆明花商刘某委托运输个体户张某开车运输一批鲜花到北京,由于刘某与张某长期有生意来往,又加上刘某这几天生意比较忙,一直无法脱身,于是刘某拟定了一个价格范围,委托张某将鲜花按时运到指定地点卖给北京的客户,价格由张某根据当时花的状况在刘某拟定的价格范围内自
如图所示的电路,已知UCC=12V,RC=3kD,,β=40,且忽略UBE,若要使静态时UCE=9V,则RB应取()。
根据风险导向审计方法对财务报表审计要求,以下对审计测试流程的观点中不能认同的是()。
在良好师生关系的建立中,教师起着()。
下列事件的排序正确的是()。①罗马帝国建立②秦朝建立③虎门销烟④《共产党宣言》的发表
下列关于职业道德的表述,正确的有()。
CollegesportsintheUnitedStatesareahugedeal.AlmostallmajorAmericanuniversitieshavefootball,baseball,basketball
A、Ithadmanymorepagesthannewspapers.B、Itwasgivenawayforfree.C、Itdealtwithissuesratherthanevents.D、Itwasmore
最新回复
(
0
)