首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数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
25
问题
函数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://jikaoti.com/ti/uYf0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
给定程序中,函数fun的功能是用函数指针指向要调用的函数,并进行调用。规定在___2___处使fa指向函数f1,在___3___处使fb指向函数f2。当调用正确时,程序输出:x1=5.000000,x2=3.000000,x1*x1+x1*x2=
fun的功能是进行数字字符转换。若形参ch中是数字字符’0’~’9’,则’0’转换成’9’,’1’转换成’8’,’2’转换成’7’,……,’9’转换成’0’;若是其他字符则保持不变;并将转换后的结果作为函数值返回。请在程序的下划线处填入正确的内容
给定程序MODI1.C中函数fun的功能是:判断ch中的字符是否与s仃所指串中的某个字符相同;若相同,什么也不做,若不同,则将其插在串的最后。请改正程序中的错误,使它能进行正确的操作。注意:不要改动main函数,不得增行或删行,也不得更
下列选项中不属于结构化程序设计方法的是
对长度为n的线性表排序,在最坏情况下,比较次数不是n(n一1)/2的排序方法是
阅读以下程序#includemain(){intcase;floatprintf;printf("请输入2个数:"):scanf("%d%f",&case,&printF);printf("%d%f\n",case,printF);}
有以下程序voidfun(intx,inty,int*C,int*d)D){*c=x+y;*d=x—y;}main(){inta=4,b=3,c=0,d=0;fun(a,b,&c,&d);printf(
有以下程序#includevoidf(int*p,int*q);main(){intm=1,n=2,*r=&m;f(r,&n);printf("%d,%d",m,n);}voidf(int*p,int*q){p=
以下选项中非法的C语言字符常量是
有两个关系R和S如下:由关系R通过运算得到关系S,则所使用的运算为
随机试题
肝性脑病尤其是门体分流性脑病常见诱因包括()
甘露消毒丹的配伍特点是
34岁,G3P1,孕36周,头痛,视物不清,面部浮肿2天,今晨头痛加剧,恶心,呕吐3次,就诊时突然牙关紧闭,双眼上翻,面部肌肉抽动,四肢肌肉强直,随后剧烈抽搐,约1分钟渐清醒,即测血压195/120mmHg,胎心120次/分,有不规则宫缩,肛查:宫口未开,
关于信用卡诈骗罪,下列哪些选项是错误的?()
水玻璃能促进水泥快凝,在水泥中掺入约为水泥重量的多少倍水玻璃,2min即初凝,可用于堵漏抢修?[2001--023]
定金合同,从订立起生效。()
下列不属于民法基本原则的是()。
1871年巴黎公社革命政权提出的教育方针是()。
[2017年]函数f(x,y,z)=x2y+z2在点(1,2,0)处沿向量,n={1,2,2}的方向导数为().
某市委宣传部准备制作一份主要由图片构成的、介绍本地风景名胜的PowerPoint演示文稿,组织和管理大量图片的最有效方法是()
最新回复
(
0
)