首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变
admin
2021-07-09
38
问题
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。
例如,有9个正整数:1 5 7 23 87 5 8 21 45
按升序排列时的中间数为:8
处理后主函数中输出的数列为:8 8 8 23 87 8 8 21 45
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#define N9
int fun(int x[])
{int i,j,k,t,mid,b[N];
for(i=0;i<N;i++)
b
=x
;
for(i=0;i<=N/2;i++)
{k=i;
for(j=i+1;j<N;j++)
if(b[k]>b[J])k=j;
if(k!=i)
{
/*********found*********/
t=b
;b
=
【1】
;
b[k]=t;
}
}
/*********found*********/
mid=b[
【2】
];
for(i=0;i<N;i++)
/*********found*********/
if(x
【3】
mid)X
=mid;
return mid;
}
main()
{int i,x[N]={1,5,7,23,87,5,8,21,45};
for(i=0;i<N;i++)
printf("%d",x
);
printf("\nThe mid data is:%d\n",
fun(x));
for(i=0;i<N;i++)
printf("%d",x
);
printf("\n");
}
选项
答案
(1)b[k] (2)4或N/2 (3)<
解析
数组中的9个数任意排列,要找到按升序排列时处于中间位置的数,应首先对数组进行升序排列。因为只需找到中间位置的数即可,故不必对整个数组进行排序,只需要排列出数组的前半部分。找到中间数后,遍历原数组,将小于中间数的元素进行替换。
填空1:利用选择算法排序,先指定一个元素为最小,用这个数与其后的所有数进行比较,若找小于此数,则进行替换。此处考查替换操作。
填空2:元素mid存放中间位置的数,数组长度为9,因此中间元素数为b[4]。
填空3:遍历数组,当元素小于中间位置的数(即mid)时,进行替换。
转载请注明原文地址:https://kaotiyun.com/show/Fltp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序段intj;floaty;charname[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入555667777abc后,Y的值为
有以下程序#include#includevoidmain(){charstr[][20]={"One*World","One*Dream!"},*p=str[1];printf("%d,",
DOS文件系统的组织结构属于
有以下程序:#includemain(){intn,*p=NULL;*p=&n;printf("Inputn:");scanf("%d",&p);printf("outputn:");printf("%d\n",p);}该程序试图通过指针p为
有以下程序#include#defineN5#defineMN+1#definef(x)(x*M)main(){inti1,i2;i1=f(2);i2=f(1+1);printf("%d%d\n",i1,i2);}程序的运行结果是
有以下程序voidfun(int*p,int*q){intt;t=*p;*p=*q;幸q=t;*q=*p;}main(){inta=0,b=9;fun(&a,&b);printf("%d%d\n",a,b);}程序的输出结果是
有以下程序(注:字符a的ASCII码值为97):#include<stdio.h>main(){char*s={’’abe’’};d0{printf(’’%d’’,*s%10);++s:
关于Scanf和printf的叙述中正确的是()。
随机试题
A.清肝泻火,化痰开窍B.涤痰息风,开窍定痫C.平肝息风,安神定惊D.疏肝和胃,健脾化痰E.清热泻火,顺气豁痰(1997年第93,94题)风痰闭阻之痫的治法是()
A.直接刺激呼吸中枢B.直接抑制呼吸中枢C.刺激颈动脉体和主动脉体化学感受器D.刺激中枢化学感受器E.抑制中枢化学感受器轻度低氧对呼吸兴奋作用的途径是
对肾小管的重吸收功能产生影响的物质有
药品说明书应包含的基本科学信息主要包括()
胡某向法院申请支付令,督促彗星公司缴纳房租。彗星公司收到后立即提出书面异议称,根据租赁合同,彗星公司的装修款可以抵销租金,因而自己并不拖欠租金。对于法院收到该异议后的做法,下列哪些选项是正确的?(2013年卷三84题,多选)
用人单位濒临破产进行法定整顿期间或者生产经营状况发生严重困难,确需裁减人员的,应当提前( )日向工会或者全体职工说明情况,听取职工或工会的意见,经向劳动行政部门报告后,可以裁减人员。
甲已满18周岁,为在校大学生,无经济来源,在校期间甲向乙借款3万元,后无力返还。那么由谁来还此笔款?()
“化农民”与“农民化”是晏阳初进行乡村建设的途径和目标。
We’veallseentheheadlinesaboutmobilephones.Ifyoubelievedeverythingyouread,you’dthrowyourmobileawayimmediately
Anintelligentpersonwillnotallowhimselftobeinfluencedbyadvertisements.Instead,hewill,firstofall,trytogettok
最新回复
(
0
)