首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变
admin
2018-10-21
56
问题
使用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+l;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++)
prntf("%d",x
);
printf("\nThe mid data is:%d\n",
fun(x));
for(i=0;i<N;i++)
printf("%d",x
);
prLntf("\n");
}
选项
答案
(1)b[k] (2)4或N/2 (3)<
解析
数组中的9个数任意排列,要找到按升序排列时处于中间位置的数,应首先对数组进行升序排列。因为只需找到中间位置的数即可,故不必对整个数组进行排序,只需要排列出数组的前半部分。找到中间数后,遍历原数组,将小于中间数的元素进行替换。
填空1:利用选择算法排序,先指定一个元素为最小,用这个数与其后的所有数进行比较,若找小于此数,则进行替换。此处考查替换操作。
填空2:元素mid存放中间位置的数,数组长度为9,因此中间元素数为b[4]。
填空3:遍历数组,当元素小于中间位置的数(即mid)时,进行替换。
转载请注明原文地址:https://kaotiyun.com/show/G0xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设x、y、z、t均为int型变量,则执行以下语句后,t的值是() x=y=z=l; t=++x||++y&&++z;
下列能正确进行字符串赋值的是()。
下列程序执行后的输出结果是voidfuncl(inti);voidfunc2(inti);charst[]="hello,friend!";voidfuncl(inti){printf("%c",st[
执行以下程序后的输出结果是【】。main(){inta=10;a=(3*5,a+4);printf("a=%d\n",a);}
有以下程序main(){union{unsignedintn;unsignedcharc;}ul;u1.C=’A’;pfintf("%c\n",u1.n);
设有如下程序#include<stdio.h>main(){int**k,*j,i=100;j=&i;k=&j;printf("%d\n"”,**k);}上述程序的输
以下程序的输出结果是()。main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;r=p;p=q;q=r;printf("%d,%d,%d,%d\n",*p,*q,a,b);}
完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是
下面函数用来求两个单精度数之和,并通过形参将结果传回,请填空。Voidsub(floatx,noaty,【】z){【】=x+y;}
下列程序的运行结果是______。voidfun(int*a,int*B){int*k;k=a;a=b;b=k;}main(){inta=3,b=6,*x’&a,*y
随机试题
男性,68岁,阵发性腹痛1周伴呕吐入院。体格检查:腹胀,见肠型,肠鸣音亢进,有气过水声。X线见腹中部扩张小肠呈阶梯状排列,有液平,结肠内无积气为了明确诊断,下列哪项检查不宜选择
引起麻痹性肠梗阻的常见原因是()
24岁,女性,停经45天,突感下腹坠痛及肛门坠胀感,少量阴道流血及头晕呕吐半天。体格检查:面色苍白,BP80/40mmHg,腹肌略紧张,下腹压痛。妇科检查:阴道少量血性物,宫颈举痛(+),后穹隆饱满,子宫稍大,附件区触诊不满意。首选检查项目应是
A.血尿B.蛋白尿C.乳糜尿D.脓尿E.少尿或无尿慢性肾衰竭常见的尿液特点为()。
下列描述中,()不属于农用地基准地价更新的技术途径。
分部分项工程量清单项目编码以()编码设置,用()阿拉伯数字表示。
江某是宏海经贸公司的法定代表人。2005年6月至2007年1月,江某通过王某以2万元价格从外地某公司购买增值税专用发票75份,涉及税款将近160万元,并已全部抵扣。2017年6月至2019年2月,在没有货物交易的情况下,江某以宏海经贸公司名义向7家公司开具
根据企业所得税的规定,下列属于“其他收入”的有()。
•ReadthearticlebelowabouthowtosetupshopontheInternet.•Foreachquestion31—40,writeonewordinCAPITALLETTERSon
WhichofthefollowingisNOTthesymptomofthewoman?
最新回复
(
0
)