首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数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
2019-09-02
29
问题
函数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中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#define N 9
/**********found**********/
void fun(int___1___,int n)
{ int i,j,max,min,px,pn,t;
/**********found**********/
for(i=0;i<n-1;i+=___2___)
{ max=min=a
;
px=pn=i;
/**********found**********/
for(j=___3___;j<n;j++)
{ if (max<a[j])
{ 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(i=0;i<N;i++)printf("%4d",b
);
printf("\n");
fun(b,N);
printf("\nThe data after moving:\n");
for(2=0;i<N;i++)printf("%4d",
b
);
printf("\n");
}
选项
答案
(1)*a (2)2 (3)i+1
解析
本题中函数的功能是将数组中的元素下标为偶数的元素按照从大到小排序,下标为奇数的元素按照从小到大排序,相当于2个排序过程。在fun函数中,采用选择排序法进行排序,分别用max和min存储每次寻找的最大值和最小值,px和pn记录每次查找到的最大值和最小值的下标位置。
第一空:主函数内fun函数的调用“fun(b,N);”,其中,b为整型数组名,故fun函数的第一参数为整型指针,又根据“max=a
”可知第一个参数名为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/eORp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
请编写函数fun,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES;否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。例如,字符串LEVEL是回文,而字符串123312就不是回文。注意:部分源程序
给定程序MODI1.C中函数fun的功能是:将十进制正整数m转换成k(2≤k≤9)进制数,并按高位到低位顺序输出。例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。请改正fun函数中的错误,使它能得出正确的
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
以下选项中不合法的标识符是
若有以下程序#includevoidsp(int*a){intb=2;a=&b;*a=*a*2;printf("%d,",*a);}main(){intk=3,*p=&k;sp(p);printf("%d,%d\
下面不属于软件工程过程的4种基本活动
有以下程序main(){unsignedchara=8,c;C=a>>3;printf("%d\n",c);}程序运行后的输出结果是
s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是
以下程序函数f的功能是:当flag为1时,进行由小到大排序;当flag为0时,进行由大到小排序voidf(intb[],intn,intflag){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1j<
随机试题
A、毒蕈碱样症状B、全部症状C、休克D、心力衰竭E、呼吸衰竭阿托品能对抗有机磷中毒所致的
对眼猪囊尾蚴病患者首选的治疗是
控制性降压的适应证包括()。
()就是把评估对象的客观条件与标准房价要求的条件相对照,从中查出与评估对象条件基本相同等级的标准房价。
水利工程建设项目审计按建设过程分为()审计。
上海市某外商独资企业向该企业在境外的分公司订购进口设备200套(属自动进口许可证管理、法定检验商品),该企业向海关出具的发票价格为CIF50000美元/台。货物进口后该企业在境内将设备售出,并将其所得价款的10%(8000美元/台)返还给境外的分公司。在该
在Windows资源管理器中。格式化磁盘的操作可使用()。
教材编写、教学、评估和考试命题的依据是()。
给定的有7个顶点v1,v2,…,v7的有向图的邻接矩阵如表5-1所示。从v1出发到其余各顶点的最短路径长度。
如今,中国自行车年增长率不超过10%,但高端自行车(high-endbike)年增长率却高达40%。
最新回复
(
0
)