首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数fun的功能是:把形参a所指数组中的最大值放在a[0]中,接着求出a所指数组中的最小值放在a[1]中:再把a所指数组元素中的次大值放在a[2]中,把a数组元素中的次小值放在a[3]中;其余以此类推。例如:若a所指数组中的数据最初排列为:1、4、2、3、
函数fun的功能是:把形参a所指数组中的最大值放在a[0]中,接着求出a所指数组中的最小值放在a[1]中:再把a所指数组元素中的次大值放在a[2]中,把a数组元素中的次小值放在a[3]中;其余以此类推。例如:若a所指数组中的数据最初排列为:1、4、2、3、
admin
2018-09-27
61
问题
函数fun的功能是:把形参a所指数组中的最大值放在a[0]中,接着求出a所指数组中的最小值放在a[1]中:再把a所指数组元素中的次大值放在a[2]中,把a数组元素中的次小值放在a[3]中;其余以此类推。例如:若a所指数组中的数据最初排列为:1、4、2、3、9、6、5、8、7,则按规则移动后,数据排列为:9、1、8、2、7、3、6、4、5。形参n中存放a所指数组中数据的个数。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
1 #include<stdio.h>
2 #defihe N 9
3 /**********found**********/
4 void fun(int ___1___,int n)
5 { int i,j,max,min,px,pn,t;
6 /**********found**********/
7 for(i=0;i<n-1;i+=___2____)
8 { max=min=a
;
9 px=pn=i;
10 /**********found**********/
11 for(j=___3___;j<n; j++)
12 { if(max<a[j])
13 { max=a[j];px=j;}
14 if(min>a[j])
15 { min=a[j];pn=j;}
16 }
17 if(px!=i)
18 (t=a
;a
=max;a[px]=t;
19 if(pn==i) pn=px;
20 }
21 if(pn!=i+1)
22 {t=a[i+1];a[i+1]=min;a[pn]=t;}
23 }
24 }
25 main()
26 {int b[N]={1,4,2,3,9,6,5,8,7},i;
27 printf(’’\nThe original data:\n’’);
28 for(i=0;i<N;i++)printf(’’%4d’’,b
);
29 printf(’’\n’’);
30 fun(b,N);
31 printf(’’\nThe data after moving:\n’’);
32 for(i=0;i<N;i++)printf(’’%4d’’,b
);
33 printf(’’\n’’);
34 }
选项
答案
(1)*a (2)2 (3)i+1
解析
本题中函数的功能是将数组中的元素下标为偶数的元素按照从大到小排序,下标为奇数的元素按照从小到大排序,相当于2个排序过程。在fun函数中,采用选择排序法进行排序,分别用max和min存储每次寻找的最大值和最小值,px和pn记录每次查找到的最大值和最小值的下标位置。
第一空:主函数内fun函数的调用“fun(b,N);”,其中,b为整型数组名,故fun函数的第一参数为整型指针,又根据“max=a[j]”可知第一个参数名为a,故第一空处为“*a”。
第二空:根据题意a所指数组中的最大值放在a[0]中,接着求出a所指数组中的最小值放在a[1]中;再把a所指数组元素中的次大值放在a[2]中,把a数组元素中的次小值放在a[3]中,升序排序和降序排序的下标变化是每次在前一次的基础上+2,即a[0]、a[2]、a[4]…降序排序,a[1]、a[3]、a[5]…升序排序,故第二空应为“2”。
第三空:选择排序法中的升序排序,首先从数组中挑选一个最小的元素,把它和第一元素交换,接着从剩下的n-1个元素中再挑出一个最小的元素,把它和第二个元素交换,不断重复以上过程,直到比较完最后两个元素。故内层循环变量j应该从i+1开始。因此,第三空处应为“i+1”。
转载请注明原文地址:https://kaotiyun.com/show/byxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序的运行结果是【】。#includemain(){FILE*fp;inta[10]={1,2,3,0,0},i;fp=fopen("d2.dat","wb");fwtite(a,sizeof(int),5
若变量已正确定义,有以下程序段inta=3,b=5,c=7;if(a>b)a=b;c=a;if(c!=a)c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是
设有以下语句:typedefstreetS{intg;charh;}T;则下面叙述中正确的是()。
以下叙述中正确的是()。
数据库技术的根本目标是要解决数据的()。
有定义语句:chars[10];,若要从终端给s输入5个字符,错误的输入语句是
下列说法不正确的是()。
从Windows环境进入MS―DOS方式后,返回Windows环境的DOS命令为
耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是______。
数据存储和数据流都是__________,仅仅是所处的状态不同。
随机试题
《玩偶之家》中的娜拉形象。
女性患者。35岁,右颈部无痛性肿块进行性肿大3个月,伴有盗汗,肝脾不大,血象正常。经淋巴结活检诊断为霍奇金病,治疗最常用方案是
有效焦点大于多少,透视时X线管阳极可不转动
营养性巨幼红细胞贫血的血象具有早期诊断意义的是
砂浆强度等级是以边长为70.7mm的立方体试件,在标准养护条件下,用标准试验方法测得()d龄期的抗压强度值确定。
下列各种凭证中,属于采用补充登记法纠正错误时应编制的是()。
甲、乙两根水管同时向一个空水池注水,需要4小时,如果同时注水1.5小时后乙关闭,甲还需要注水4.5小时才能注满水池,那么乙单独注水需要多少小时才能注满水池?
中华人民共和国国徽,中间是五星照耀下的天安门,周围是谷穗和齿轮。()
十一五期间,江苏省贸易进口额占进出口总额的比重最小的是:
结构化布线系统中,所有的水平布线UTP(非屏蔽双绞线)都是从工作区到各楼层配线间的。在工作区由(19)端接,在配线间由(20)端接。当布线结构需要调整时,可以通过布线配线系统来重新配置,具体调整手段通过(21)实现。结构化布线工程中常采用4对UTP,它使用
最新回复
(
0
)