首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数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
2020-11-27
77
问题
函数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 #define 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[2+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(2=0;i<N;i++)printf(’’%4d’’,b
);
29 printf(’’\n’’);
30 fun(b,N);
31 printf(’’\nThe data after moving:\n’’);
32 for(2=0;i<N;i++)printf(’’%4d’’,b
);
33 printf(’’\n’’);
34 }
选项
答案
(1)*a (2)2 (3)i+1
解析
第一空:主函数内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/Tp3p777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:#includemain(){unsignedchara=8,c;c=a>>3;printf("%d\n",c);}程序运行后的输出结果是()。
若以下选项中的变量a,b,y均已正确定义并赋值,则语法正确的switch语句是
有以下程序#includemain(){charp[20]={’a’,’b’,’c’,’d’},q[]="abc",r[]="abcde";strcat(p,r);strcpy(p+strlen(q),q);
以下叙述中错误的是
有以下程序:#include<stdio.h>main(){charch[]=’’uvwxyz’’,*pc;pc=ch;printf(’’%c\n’’,*(pc+5));}程序的运行结
有以下程序main(){inta[5]={2,4,6,8,10},*p,**k;p=a;k=&p;printf("%d",*(p++));printf("%d\n",**k);}程序运行后的
若有定义:inta,b:通过语句scanf("%d;%d",&a,&b);能把整数3赋给变量a,5赋给变量b的输入数据是
设有以下函数:f(inti){intj=0;staticintk=3;i++:j++;return(i+j+k);}如果下面的程序中调用该函
以下选项中关于C语言常量的叙述错误的是
下面的for语句的循环次数为()。for(x=1,y=0;(y!=19)&&(x
随机试题
影响显示器显示清晰程度的一个重要指标是()。
男,10岁,小学生,起病急,畏寒,高热,头痛呕吐已8小时,目前呼之不应。检查:神志不清,面色苍白,四肢厥冷,体温40℃,全身见有广泛斑点、淤斑,有的呈片状,脉细速,血压5.2/0kPa,颈软,脑膜刺激征阴性,血象38×109/L,N0.92,L0.0
患者男,59岁,工人。1年前无明显诱因出现双腕、双手关节和双膝、踝、足、跖趾关节肿痛,伴晨僵;时间约12分钟,疼痛以夜间明显,影响行动。实验室检查:血沉55mm/L,RF(+)。关节X线检查:双手骨质疏松,腕部关节间隙变窄。使用青霉胺治疗,护士应观察哪些
下列关于食品安全管理的法律规定,说法正确的是:
某企业拟采购一批原材料,价值10000元,供应商规定的付款条件如下:(1)立即付款,价格9630元;(2)第20天付款,价格9750元;(3)第40天付款,价格9870元;(4)第60天付款,价格10000元。要求:假设银行短期贷款的利率为23
以下对采购与付款业务流程中付款环节的控制活动以及与相关认定的对应关系的陈述中,不恰当的是()。
在音乐作品中,由原调经过某种中间环节进新调,并在新调上有完全的终止,称之为_________。如果在新调上没有完全的终止,则称之为_________。
2009年H省年末常住人口达到7034.4万人,出生人口90.7万人,出生率为12.93‰;死亡人口45.1万人,死亡率为6.43‰;净增人口45.6万人。2009年城镇居民人均可支配收入达14718.3元。其中,工资性收入9830.6元,增长1
下列关于正当防卫和紧急避险的表述中,正确的是()。
Researchhasshownthatcollegestudentscanlearnasmuch,ormore,frompeersastheydofrominstructorsandtextbooks.When
最新回复
(
0
)