首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数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-09-23
33
问题
下列给定程序中,函数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 l J r max t min f px f pn,t;
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
一min;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 after
moving:\n");
for(i=0;i < N;i++)
printti("%4 d",b
);
printi("\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/szxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序调用函数swap将指针s和t所指单元(a和B)中的内容交换,请填空。main(){inta=10,b=20,*s,*t;s=&a;t=&b;()printf("%d%d",a,B);}swa
设x为整型变量,n=14,n的地址为4000;m=6,m的地址为2000;执行语句x=&n后的结果为()。
下列程序的运行结果是()。#include<stdio.h>voidsub(int*s,int*y){staticintm=4:*y=s[m];m--;}voidmain(){
下面函数的功能是()。sss(s,t)char*s,*t;{while(*s);while(*t)*(s++)=*(t++);returns;}
下列选项中,不属于数据库管理的是()。
在最坏情况下,堆排序需要比较的次数为()。
在下列选项中,没有构成死循环的程序段是()。
下面程序的运行结果是()。#include<stdio.h>#include<string.h>main(){char*s1="abDuj";char*s2="ABdUG";intt;t=s
以下语句定义正确的是()。
在一介C源程序文件中,要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使削的存储类别是()。
随机试题
关于椎间盘CT扫描方式的叙述,错误的是
根据税收征收管理法律制度的规定,经县以上税务局(分局)局长批准,税务机关可以依法对纳税人采取税收保全措施。下列各项中,不属于税收保全措施的是()。
下列各项中,符合房产税纳税义务发生时间规定的有()。
在“一元二次方程根与系数的关系”一课上,某教师设计如下的教学过程:一、探究规律先填空,再找规律:思考:观察表中x1+x2与x1x2的值,它们与前面的一元二次方程的各项系数之间有什么关系?从中你能发现什么规律?二、得出定理并证明(韦
从影响形式看,文化对教育的制约作用具有()。
维护和保障立法科学性的重要原则是()。
在面向对象方法中,不属于“对象”基本特点的是
Mostpeoplewouldbe【71】bythehighqualityofmedicine【72】tomostAmericans.Thereisalotofspecialization,agreatdealof【
Hewouldhaveplayedfootballbuthe______time.
TravellingintheJungleTherearealotofdifficultiestotravelinthejunglecountrywhichseems【1】______【1】______to
最新回复
(
0
)