首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数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
2017-11-27
104
问题
函数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
#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 < 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+l];a[i+l]=min;a[pn]=t;}
}
}
main ()
{int b[N] = {l,4,2,3,9,6,5,8,7}, i;
printf ("\nThe original data:\n");
for (i=0; i
b
);
printf("\n");
fun(b, N) ;
printf("\nThe data after moving:
\n");
for (i=0; i
b
);
printf("\n");
}
选项
答案
(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个元素中再挑出一个最小的元素,把它和第二个元素交换,不断重复以上过程,直到比较完最后两个元素。故内层循环变量j应该从i+1开始,因此,第三空处应为“i+1”。
转载请注明原文地址:https://kaotiyun.com/show/a2xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有定义:inta=10,b=8,c=4;然后顺序执行下列语句后,变量a中的值是_____________。c=(b-=(a-4));a=(c%2)+(b-1);
有以下程序:intfl(doub1ea){returna*a;}intf2(intx,inty){doublea,b;a=n(x);b=f1(y);retur
有以下程序,其中%u表示按无符号整数输出()。main(){unsignedintx=0xFFFF;/*x的初值为十六进制数*/printf(“%u\n”,X);}程序运行后的输出结果是(
阅读下面程序,则程序的执行结果为______________。#include“stdio.h”main(){inta=10;fun(a);.printf(“%d\n”,a);}fun(intx
若有以下定义,则对a数组元素地址的正确引用是()。inta[5],*p=a;
下列二维数组初始化语句中,正确且与语句inta[][3]={1,2,3,4,5}等价的是()。
下列数据结构中,能用二分法进行查找的是()。
以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序voidsort(inta[],intn){inti,j,t;for(i=0;i
数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和()。
有如下程序:main(){intx=23;do{printf("%d",x--);}while(!x);}该程序的执行结果是()。
随机试题
舌癌病变,镜下见角化珠量多,细胞间桥明显,核分裂少见,无非典型核分裂象及多核巨细胞。依据WHO1997年的分级标准应归为
栓剂基质不包括哪种
患者男,69岁。以“肺心病”而入院治疗。护士对患者进行身体评估发现下列症状,其中提示其右心功能不全的是
下列关于管道固定支架说法错误的是()。
单代号搭接网络计划是前后工作之间有多种逻辑关系的( )网络计划。
随着时间的递延,固定资产的运行成本和持有成本呈反向变化。()
全国人大常委会是全国人大的常设机关,根据《宪法》规定,全国人大常委会行使多项职权,但下列哪一职权不由全国人大常委会行使?()
在我国的市场经济条件下,要达到优化资源配置和合理配置的目标,以下除了哪项,必须做到?()
病毒的故事或许还要从远古说起。在那个________的地球上,海洋占据了世界的绝大部份,而无垠的大海之下是数亿年________的火山活动。在某些________之下,海水中产生了史上第一批有机大分子,从而点燃了生命的星星之火。填入横线处最恰当的一组
设矩阵,矩阵B满足ABA*=2BA*+E,其中A*为A的伴随矩阵,E是单位矩阵,则|B|=_______.
最新回复
(
0
)