首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数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
97
问题
函数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全国计算机二级
相关试题推荐
若有如下程序:main(){inta,b,C,m,n,k;m=n=k=0;a=-1;b=2;C=3;if(c>0)m=a+b;if(a<=0){if(b>0)
在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是()。
下面程序运行后的输出结果是______。structabc{inta,b,c;}main(){structabcs[2]={{1,2,3},{4,5,6}};intt=-s[0].a
有如下程序intfunc(inta,intB){return(a+B);}main(){intx=2,y=5,z=8,r;r=func(func(x,y),z);prin
有如下程序main(){intx=3;do{printf("%d",x--);}while(!x);}该程序的执行结果是______。
库函数strcpy用以复制字符串,若有以下定义和语句:charstr1[]="china",str2[10],*str3,*str4="china";则对库函数strcpy的正确的调用是_______。
以下程序的输出结果是_______。#include<stdio.h>main(){inti;for(i=1;i<5;i++){if(i%2)printf("*");elseco
若x、y和z均是int型变量,则执行下面表达式后的x值为【】。x=(y=4)+(z=3)
要求以下程序的功能是计算s=1+1/2+1/3+…+1/10main(){intn;floats;s=1.0;for(n=1O;n>1;n--)s=s+1/n;printf("%6.4f\n
以下函数用来求出两整数之和,并通过形参将结果传回,请填空。voidfunc(intx,inty,【】z){*z=x+y;}
随机试题
某国东部沿海有5个火山岛E、F、G、H、I,它们由北至南排列成一条直线,同时发现:(1)F与H相邻并且在H的北边。(2)Ⅰ和E相邻。(3)G在F的北边某个位置。假如I在G北边的某个位置,下面哪项陈述一定为真?
Electronics______themovementoffreeelectronsinavacuumorinsemiconductors.
女性,50岁,因子宫颈癌行全子宫切除,术后当日无尿,术中出血不多,术前肾功能正常,因此诊断最大的可能为
划拨国有建设用地使用权的抵押,下列叙述错误的是()。
【背景资料】某热力管线暗挖隧道,长3.4km,断面有效尺寸为3.2m×2.8m,埋深3.5m。隧道穿越地层为砂土层和砂砾层,除局部有浅层滞水外,无需降水。承包方A公司通过招标将穿越砂砾层段468m隧道开挖及初期支护分包给B专业公司。B公司依据A公司的施
自建固定资产应最终通过“固定资产”账户核算。()
“二次根式”是初中阶段学习的一个非常重要的内容,是在学生学习了平方根、立方根等内容的基础上进行的。本章的学习将为今后进一步学习根式奠定基础。本课对学生的要求是①理解二次根式的概念和意义;②用二次根式的意义和性质求取值范围;③会初步运用二次根式的性质解决简单
设f(x)为R上不恒等于零的奇函数,且fˊ(0)存在,则函数
已知求a、b的值.
A、Ascarcityofjobsintheirfield.B、Inadequatetraininginthemethodsofbiologicalresearch.C、Difficultiesinclassifying
最新回复
(
0
)