首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。 例如,有9个正整数:1 5 7 23
给定程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。 例如,有9个正整数:1 5 7 23
admin
2016-12-06
90
问题
给定程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。
例如,有9个正整数:1 5 7 23 87 5 8 21 45
按升序排列时的中间数为:8
处理后主函数中输出的数列为:8 8 8 23 87 8 8 21 45
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
试题程序:
1 #inclucte<stdio.h>
2 #define N 9
3 int fun(int x[])
4 {int i,j,k,t,mid,b[N];
5 for(i=0;i<N;i++)
6 b
=x
;
7 for(i=0;i<=N/2;i++)
8 {k=i;
9 for(j=i+l;j<N;j++)
10 if(b[k]>b[j])k=j;
11 if(k!=i)
12 {
13 /*********found*********/
14 t=b
;b
=
【1】
;
15 b[k]=t;
16 }
17 }
18 /*********found*********/
19 mid=b[
【2】
];
20 for(i=0;i<N;i++)
21 /*********found*********/
22 if(x
【3】
mid)x
-mid;
23 return mid;
24 }
25 main()
26 {int i,x[N]={1,5,7,23,87,5,8,21,45};
27 for(i=0;i<N;i++)
28 printf(’’%d’’,x
);
29 printf(’’\nThe mid data is:%d\n’’,fun(x));
30 for(i=0;i<N;i++)
31 printf(’’%d’’,x
);
32 printf(’’\n’’);
33 }
选项
答案
(1)b[k] (2)4或N/2 (3)<
解析
数组中的9个数任意排列,要找到按升序排列时处于中间位置的数,应首先对数组进行升序排列。因为只需找到中间位置的数即可,故不必对整个数组进行排序,只需要排列出数组的前半部分。找到中间数后,遍历原数组,将小丁中问数的冗素进行替换。
填空1:利用选择算法排序,先指定一个元素为最小,用这个数与其后的所有数进行比较,若找小于此数,则进行替换。此处考查替换操作。
填空2:元素mid存放中间位置的数,数组长度为9,因此中间元素数为b[4]。
填空3:遍历数组,当元素小于中间位置的数(即mid)时,进行替换。
转载请注明原文地址:https://kaotiyun.com/show/fVDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果是______。#defineA100main(){inti=0,sum=0;do{if(i=(i/2)*2)continue;sum+
在数据流图(DFD)中,带有名字的箭头表示______。
执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是______。mein(){chars[100];intc,i;scanf("%c",&C);
以下程序段中,能够通过调用函数fun,使main函数中的指针变量p指向一个合法的整型单元的是______。
以下程序的功能是进行位运算:main(){unsignedchara,b;a=7^3;b=~4&3;printf("%d%d\n",a,b);}程序运行后的输出结果是______。
以下程序中函数huiwen的功能是检查一个宁符串是否是回文,当字符串是回文时,函数返回字符串:yes!,否则函数返回字符串:no!,并在主函数中输出。所谓回文即正向与反向的拼写都一样,例如:adgda。请填空______。#include<s
以下程序的输出结果是______。#defineSQR(X)X*Xmain(){inta=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("d\n",a);}
若整型变量a、b、c、d中的值依次为:1、4、3、2,则条件表达式a<b?a:c<d?c:d的值是______。
有如下函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是______。
随机试题
简述中国共产党与民主党派的团结合作。
求由曲线y=x2与y2=x2所围成的平面图形的面积S,并求该平面图形绕x轴旋转所形成旋转体的体积V.
导致失眠的原因有
Pandy试验与硫酸铵试验比较,前者
A.腹痛突然发生或加重,呈持续性剧痛B.起病缓慢,腹痛由轻至重,呈持续性C.腹痛轻,呈持续性D.起病急,呈持续性阵发性加重E.发病急,呈阵发性腹部绞痛梗阻性急腹症腹痛的特点是
仲裁一旦生效,当事人丧失的权利是()Ⅰ.起诉权Ⅱ.再仲裁申请Ⅲ.申请人民法院执行权Ⅳ.合同继续履行权
【背景资料】某市外环路路基平均填土高度13m。该路段因沿黄河大堤,地下水位高(现有黄河河床标高比路面设计高程高出2~3m),而且处于雨期积水地区,土质大部分为黄河粉砂土,少量粉质黏土,全线大部分路段为软弱地基路段(地基承载力平均10~80kPa)。因此,
根据《建筑法》,下列说法正确的是()。
下图为第二次世界大战之后,欧洲及附近地区人口迁移方向示意图(箭头表示战后主要移民路径,圆圈内的区域为欧洲核心区)。据此完成下列问题。图示人口迁移的主要方向是()
在采用ADS1.2集成开发工具软件开发基于ARM微处理器的嵌入式系统软件时,下面有关地址映射的说明中,不正确的是()。
最新回复
(
0
)