首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数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
2015-06-08
88
问题
函数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所指数组中数据的个数。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKl.C中。
不得增行或删行,也不得更改程序的结构!
#irlclude
#define N 9
/**********found***********/
void fun(int ___1___ , int n)
{ int i,j,max,min,px,pn,t;
/**********found***********/
for (i=0; i
{ max=min=a
;
px=pn=i;
/**********found***********/
for(j=___3___; j
{ if(max
{ max=a[j]; px=j;}
if(min>a[j])
{ min=a[j]; pn=j;)
}
if(px!=i)
{ t=a
; a
=max, a[px]=t;
if(pn==i)pn=px;
}
if(pn!=i+1)
{t=a[i+1];a[i+1]=min;a[pn]=t;)
}
}
main()
{ int b[N]={1,4,2,3,9,6,5,8,7),i;
printf(“\nThe original data:\n”);
for(o=0;i
);
printf(“\n”);
fun(b,N);
printf(“\nThe data after moving:\n”);
for (i=0;i
);
printf(”\rl”);
}
选项
答案
(1)*a (2)2 (3)j+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个元素中再挑出一个最小的元素,把它和第二个元素交换,不断重复以上过程,直到比较完最后两个元素。故内层循环变量i应该从i+1开始,因此第三空处应为“i+1”。
转载请注明原文地址:https://kaotiyun.com/show/yiJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有以下定义和语句:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a则不能表示a数组元素的表达式是()。
C语言中,函数值类型的定义可以默认,此时函数值的隐含类型是()。
在C语言中,函数中变量的隐含存储类别是______。
有如下程序:longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));elsereturn(2);}main(){printf("%ld\n",fib
有如下程序段int*p,a=10,b=1;p=&a;a=*p+b;执行该程序段后,a的值为______。
有如下程序main(){intx=3;do{printf("%d",x--);}while(!x);}该程序的执行结果是______。
能正确表示逻辑关系""a≥10或a≤0""的C语言表达式是______。
下面程序的输出结果是_______。unionun{inta[4];longb;charc[6];}main(){unionunu;printf("%d%d",s
请读程序:#include<stdio.h>func(inta,intb){intc;c=a+b;returnc;}main(){intx=
下面的程序片段y=-1;if(x!=0)if(x>0)y=1;elsey=0;所表示的数学函数关系是_______。
随机试题
A哌替啶B异丙嗪C氯丙嗪D布洛芬E酮替芬仅降低发热者体温,不影响正常体温,常用于控制发热的药物是
三酰甘油水解过程的调节酶是()。
证券登记结算公司就结算备付金的利息向结算参与人结息的时间间隔是( )。
一种货币成为外汇必须同时具备的特征是()。
一般资料:求助者,女,25岁,未婚,中学教师,经济状况良好。求助者主诉:最近半年以来我情绪很低落,经常觉得自己很委屈,有时候偷偷地哭,觉得社会的现实太残酷了,对大部分事情都无精打采的,对工作和生活都提不起兴趣,对未来的生活感到悲观失望,认为自己的
下列行为属于行政处罚的是()。
人民警察的纪律主要有下列四个方面:政治纪律、组织纪律、()、保密纪律。
一、注意事项1.本题本由给定资料与作答要求两部分构成。考试时限为150分钟。其中。阅读给定资料参考时限为40分钟,作答参考时限为110分钟。2.请在题本、答题卡指定位置上用黑色字迹的钢笔或签字笔填写自己的姓名和准考证号.并用2B铅笔在
从个别上升到一般的思维方法是()
Sherefusedto______thedoorkeytothelandladyuntilshegotbackherdeposit.
最新回复
(
0
)