首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是:在任给给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序:列,并将中间数作为函数值返回。 例如,有9个正整数:1 5 7 23 87 5
给定程序中,函数fun的功能是:在任给给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序:列,并将中间数作为函数值返回。 例如,有9个正整数:1 5 7 23 87 5
admin
2019-03-06
27
问题
给定程序中,函数fun的功能是:在任给给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序:列,并将中间数作为函数值返回。
例如,有9个正整数:1 5 7 23 87 5 8 21 45
按升序排列时的中间数为:8
处理后主函数中输出的数列为:8 8 8 23 87 8 821 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
【2】
mid)x
=mid;
return mid;
}
main()
{int i,x[N]={1,5,7,2 3,8 7,5,8,21,4 5};
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/PIRp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下只有在使用时才为该类型变量分配内存的存储类型说明是()。
程序的运行结果为【】。main(){charc1=’a’,c2=’b’,c3=’c’;printf("a%cb%c\tc%c\n",c1,c2,c3);}
以下程序运行后的输出结果是______。fun(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}main()
若给fun函数的形参s传送字符串:"abc-6354abc",则函数的返回值是()。(字符串中包括空格)longfun(charS[]){longn;intsign;for(;isspace(*s)||islow
有如下程序:main(){intx=23;do{printf("%d",x--);}while(!x);}程序运行后的输出结果是()。
阅读下述程序段:y=-1;if(x!=0)if(x>0)y=1;elsey=0;该程序段所描述的数学关系是()
执行以下程序后,a,b的值分别为main(){ina,b,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m;b=(*p1)/(*p2)+7;printf("a=%d\n",a);
有以下函数:mtaaa(char*s){char*t=s;while(*t++);t--;return(t-s);}以下关于aaa函数的功能的叙述正确的是()。
软件设计包括软件的结构、数据、接口和过程设计,其中软件的过程设计是指()。
随机试题
某人分期付款购买—套住房,每年年末支付40000元,分10次付清,假设年利率为3%,则相当于现在—次性支付()元。(P/A,3%,10)=8.5302
一个测验经过多次测量所得的结果的一致性程度,称为测验的()。
电动汽车充电站白天(7~21时)充电1.8元/度,停车费5元/时;夜间(21~7时)充电1.2元/度,停车费1元/时,停车不满1小时按1小时计算。某电动汽车电池容量为60度,快充1.5小时充满,慢充6小时充满,假设同一种充电模式下充电速率一直不变,现在是2
阿托品滴眼引起
患者男性,46岁,因腹泻、便血确诊溃疡性结肠炎,开始服用SASP6g/d,为监测药物不良反应的发生,应定期复查
下列经营成本表达式正确的是()。
股票本期收益率的年现金股利是指发放的()。
A公司2014年购买商品支付1500万元(含增值税),支付2012年接受劳务的未付款项50万元,2014年发生的购货退回15万元,假设不考虑其他条件,A公司20l4年现金流量表“购买商品、接受劳务支付的现金”项目中应填列()万元。
下列说法错误的是:
【B1】【B15】
最新回复
(
0
)