首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数fun的功能是:把形参a所指数组中的最小值放在元素a[0]中,接着把a所指数组中的最大值放在a[1]元素中;再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3],依此类推。 例如,若a所指数组中的数据最初排
下列给定程序中,函数fun的功能是:把形参a所指数组中的最小值放在元素a[0]中,接着把a所指数组中的最大值放在a[1]元素中;再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3],依此类推。 例如,若a所指数组中的数据最初排
admin
2017-02-24
37
问题
下列给定程序中,函数fun的功能是:把形参a所指数组中的最小值放在元素a[0]中,接着把a所指数组中的最大值放在a[1]元素中;再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3],依此类推。
例如,若a所指数组中的数据最初排列为:9,1,4,2,3,6,5,8,7;则按规则移动后,数据排列为:1,9,2,8,3,7,4,6,5。形参n中存放a所指数组中数据的个数。
规定fun函数中的max存放当前所找的最大值,px存放当前所找最大值的下标。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#define N 9
void fun(int a[],int n)
{ int i,j,max,min,px,pn,;
for(i=0;i<n-1;i+=2)
{
/*********found*********/
max=min=
【1】
;
px=pn=i;
for(j=i+1;j<n;j++) {
/*********found*********/
if(max<
【2】
)
{max=a[j];px=j;)
/*********found*********/
if(min>
【3】
)
{ min=a[j];pn=j;}
}
if(pn!=i)
{t=a
;a
=rain;a[pn]=t;
if(px==i)px=pn;
}
if(px!=i+1)
{ t=a[i+1],a[i+1]=max;
a[px]=t;)
}
}
void main()
( int b[N]={9,1,4,2,3,6,5,8,7),i;
printf("\nThe original data:\n");
for(i=0;i<N;i++)
printf("%4 d",b
);
printf("\n");
fun(b,N);
printf("\nThe data aftermoving:\n");
for(i=0;i<N;i++)
printf("%4 d",b
);
printf("\n");
}
选项
答案
(1)a[i] (2)a[j] (3)a[j]
解析
本题考查:数组的引用;if语句条件表达式,如果表达式的值为真,则执行下面的语句,如果该值为假,则不执行下面的语句。
填空1:for循环语句循环体中将数组元素a
赋值给变量max和变量min。
填空2:通过一次for循环,找到数组中的最大值,if语句的条件表达式是max<a[j]。
填空3:同理,此处if语句的条件表达式是min>a[j]。
求最大值或者最小值的题目,一般都是先假设一个元素最大或最小,然后通过if条件语句将该元素和其他元素进行比较操作来完成。
转载请注明原文地址:https://kaotiyun.com/show/o0Dp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序#include<stdio.h>main(){intc;while((c=getchar())!=’\n’){switch(c-’2’){case0:case1:pu
下列选项可以正确表示字符型常量的是
已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是
以下程序的功能是建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(链表头结点的data域不放数据,表空的条件是ph->next==NULL),请填空。#includestructlist{intd
已有定义:charc=′′;inta=1,b;(此处c的初值为空格字符),执行b=!c&&a;后b的值为【】。
函数的值通过return语句返回,下面关于return语句的形式描述错误的是
设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是
阅读以下程序及对程序功能的描述,其中正确的是#includemain(){FILE*in,*out;charch,infile[10],outfile[10];printf("Entertheinfilename:\n"
有以下程序intadd(inta,intb){return(a+b);}main(){intk,(*f)(),a=5,b=10;f=add;…}则以下函数调用语句错误的是
下列函数的运行结果是main(){inti=2,p;intj,k;j=i;k=++i;p=f(j,k);printf("%d",p);}intf(inta,intb){intc;if(a>b
随机试题
“见贤思齐”说明()是教师职业道德修养的重要方法。
下列有关文学常识的表述,错误的一项是()
在Windows7中,同一个文件夹不能同时被多台计算机共享访问。()
缺失肯氏分类为
Ⅱ类和Ⅲ类地表水环境DO的标准限值是()。
个人商用房贷款的贷款经办行贷后管理的内容包括()。
企业认购的股票,其实际支付的价款中如含有已宣告发放但尚未支付的股利,应按照实际支付的款项扣除应收股利后的差额计价。()
Withcircuitswitching,a(71)________________pathisestablishedbetweentwostationsforcommunication.Switchingandtransmissi
WhenLouiseBethunewasagirl,shelikedto______.Louiselearnedtobeanarchitect______.
Whatdoesthecompanywanttodo?
最新回复
(
0
)