首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变
admin
2020-06-02
84
问题
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。
例如,有9个正整数:15 7 23 87 5 8 21 45
按升序排列时的中间数为:8
处理后主函数中输出的数列为:8 8 8 23 87 8 8 21 45
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#define N 9
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://www.kaotiyun.com/show/QlCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有定义intx,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++):(y++)中的条件表达式(x-y)等价的是()。
有以下程序intf(intm)main(){intn=0;{staticintn=0;printf("%d,",f(++n));n+=m;return
若有以下函数首部intfun(doublex[10],int,*n)则下面针对此函数的函数声明语句中正确的是
两个或两个以上模块之间关联的紧密程度称为
有以下程序#includeintfun(int(*s)[4],intn,intk){intm,i;n1=s[0][k];for(i=1;im)m=s[i][k];returnm;}
阅读以下程序#includemain(){intcase;floatprintF;printf("请输入2个数:");scanf("%d%f",&case,&printF);printf("
在数据管理技术发展的三个阶段中,数据共享最好的是
有以下程序#includeintfun(char*s){char*p=s;while(*p!=0)p++;return(p-s);)main(){printf("%d\n",fun("goodbcy!"
在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是
设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:□代表空格字符)
随机试题
桂枝汤主治证候有
患者,男,58岁。高血压病史20年,近1年常心慌、气短,昨夜睡眠中突然憋醒,胸闷、咳嗽、气喘,急诊入院。经检查诊断为急性肺水肿,左心衰竭。治疗应选用
下列各项中,哪项是糖尿病患者失明的主要原因
根据车船税法律制度的规定,下列各项中,免征车船税的是()。(2015年)
国内某作家完成了一部小说,3月份第一次出版获得稿酬20000元,8月份该小说再版获得稿酬10000元,该作家两次所获稿酬应缴纳个人所得税4800元。()
大多数配送中心采用()配送形式。
某地生姜收购价格为每市斤0.4元,只有上一年同期价格的15%。专业人士认为,这一状况是农民在涨价预期下盲目扩大种植规模造成的,而他们扩大种植规模的依据仅是一年前的价格信息。这给我们的启示是()。
李大爷到水果店买苹果和香蕉两种水果共27千克,苹果每千克5元,香蕉每千克6元,由于买的数量较多,水果店给予优惠,苹果按定价的85%付钱,香蕉按定价的80%付钱,如果他付的钱比按定价少付了18%,那么李大爷买了多少千克苹果?()
以下选项中非法的C语言字符常量是
Thechildren’s______natureswereinsharpcontrasttotheeven-tempereddispositionsoftheirparents.
最新回复
(
0
)