首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变
admin
2018-10-21
33
问题
使用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://jikaoti.com/ti/yoa0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设有定义语句:int a[][3]={{0},{1}{2}};,则数组元素a[1][2]的值是【 】。
下面程序的运行结果是______。#include<stdio.h>main(){voidinc1();voidinc2();inc1();inc1();inc1();inc2();
在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是______。
设x,y和z都是血型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是
设计数据库的存储结构属于()
以下程序的输出结果是【】。main(){char*p[]={"BOOL","OPK","H","SP"};inti;for(i=3,i>=0;i--,i--)printf("%c",*p[i]);pri
以下程序的运行结果是___________。main(){inta=1,b=2,c;if(a>b)c=1;elseif(a==b)c=0;elsec=-1:printf(“%
若有以下定义,则不能代表字符。的表达式是______。chars[20]="programming",*ps=s;
有以下程序:#include<stdio.h>voidWriteStr(char*fn,char*sir){FILE*fP;fP=fopen(fn,"w");fput6(str,fp);
以下程序的输出结果是()。#include<stdio.h>main(){inta=21,b=11;printf("%d\n",--a+b,--b+a);}
随机试题
工程进度控制的目的是确保项目交付使用时间目标的实现。()
政策终结的方式有
把“三个代表”重要思想确立为中国共产党的指导思想,是在()
以下哪项不是阿托品的性质
下列各项,不属肺气郁痹的临床表现的是
新建商品房销售前,房地产开发企业应当准备的销售须知文件主要有()。
沟通的关键是()。
故宫太和殿的屋顶式样是()。
根据下列文字资料。回答下列问题。2009年全社会固定资产投资22.5万亿元,比上年增长30.1%。增速较上年加快4.6个百分点,占当年国内生产总值GDP的比重也上升至67%。2009年中国国内生产总值GDP为335353亿元,比上年增长8.7%
NORFlash芯片AM29IN320D的逻辑引脚及其简单描述如下。为使处理器能够从该存储芯片中以字节方式读取信息,存储芯片相关引脚必须具有的正确的逻辑组合是()。
最新回复
(
0
)