首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部门的程序。实现函数sort(int A[],int n),用冒泡法将数组排序。 提示:所谓冒泡法,就是每次把相邻的两个数交换,较大的数交换到后面。这样下标从
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部门的程序。实现函数sort(int A[],int n),用冒泡法将数组排序。 提示:所谓冒泡法,就是每次把相邻的两个数交换,较大的数交换到后面。这样下标从
admin
2018-10-23
41
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部门的程序。实现函数sort(int A[],int n),用冒泡法将数组排序。
提示:所谓冒泡法,就是每次把相邻的两个数交换,较大的数交换到后面。这样下标从0到n-1的数与其后面相邻的数交换,可以把最大的数交换到数组的末端。进行n次下标从0到n-1的交换,则数组则会变成有序的,而且是由大到小的顺序。
注意:不能修改程序的其他部分,并且不能删除其他的部分,也不能修改程序的结构。
1 #include<iostream.h>
2 #define N 10
3 void sort(int A[N],int n)
4 {
5
6 }
7 int main()
8 {
9 int A[N]={5,7,4,6,10,13,78,-4,9,20};
10 sort(A,10);
11 for(int i=0;i<sizeof(A)/sizeof(int);i++)
12 {
13 cout<<A
<<’ ’;
14 }
15 cout<<end1;
16 return 0;
17 }
选项
答案
1 int i,j,k,t; 2 for(i=0;i<n-1;i++) 3 { 4 for(k=i,j=i+1;j<n;j++) 5 if(A[k]<A[j])//如果前面的比后面的小则需要交换 5 k=j; 7 if(k!=i) //交换 8 { 9 t=A[i]; 10 A[i]=A[k]; 11 A[k]=k; 12 } 13 }
解析
函数sort(int A[],int n)用冒泡排序法把数组进行从大到小的排序,冒泡法排序利用了求数组中最小值及其位置的算法,首先从n个数中找出最大值,放在第一个元素位置上,再从剩下的n-1个数中找出最大值,放在第二个元素位置上,这样不断重复下去,直到剩下最后一个数。
(1)以数组“A[]={3,8,7,6,5,0,1,2,9,4}”为例来说明具体的排序过程,第一次选择:第一步从A[0]-A[9]中找最大值max及下标k,max=9,k=8;第二步交换a[0]与最大值a[8]的值;第一次结束后a[0]已存放了最大值,下一次比较就不必再经过它了,而从a[1]开始,如此循环。从例中可以看出10个元素要进行九次比较,n个元素要进行n-1次比较。设置两层循环,外层循环变量i从0到n-1,内层循环变量从i开始到n-1,在内层循环中找最大值,如果最大值的下标k和i不同,则交换,实现选择法排序。
(2)在内层循环体内,如果最大值的下标k和i不同,则用一个临时变量记录第i个元素,然后将第k个元素赋值给第i个元素,临时变量值赋给第k个元素,如此完成两个元素的交换。
转载请注明原文地址:https://kaotiyun.com/show/fwAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
如果使用数组名称为函数参数,形实结合时,传递的是______。
在多继承的基类和派生类中同时出现______存在二义性。
下面程序输出的结果为#include"iostream.h”classA{public:A(){cout<<"CLASSA"<<endl;}~A(){}};class
关于运算符重载的表述中正确的是()。
下列特征中不是面向对象方法的主要特征的是()。
有如下程序:#include<iostream>usingnamespacestd;classMyClass{public:MyClass(intx):val(x){}void
若类A和类B的定义如下:#include<malloc.h>classA{inti,j;public:intgeti(){returni;}};classB:
有如下函数模板声明:template<typenameT>TMax(Ta,Tb){return(a>=b)?a:b;}下列对函数模板Max()的调用中错误的是()。
下列关于线性链表的描述中正确的是()。
operator是运算符重载时必须使用的关键字,它和被重载的运算符连在一起,作为运算符函数的专用函数名,务必把该函数说明为______的。
随机试题
南方把定期贸易的场所称为()
关于洗必泰溶液,以下哪项叙述不正确
A.Kemig征阳性B.分离性感觉障碍C.Babinski征阳性D.共济失调E.屈颈试验阳性1岁以下正常婴儿可能出现的体征是
患者,女性,52岁。颈后肿痛6天,疼痛逐渐加重,伴畏寒、发热。既往有糖尿病史10年。查体:颈后红肿,范围约6cm,边界不清,中央多个脓点。该患者最可能的诊断是
有智慧的人,一直以来都在享受每一秒,因为他们知道这一秒一旦过去就永不再来;愚痴的人,一直以来都在抱怨每一秒,总觉得这一秒不幸,下一秒才好!同样经历每分每秒,但______,天地悬隔。填入划线部分最恰当的是()。
前馈控制是以未来为导向的,它的目标是在偏差发生之前阻止其发生。下列属于前馈控制的是()。
作为一个公司领导,不需要、也不可能事必躬亲,但一定要_______,能够在注意细节当中比他人观察得更细致、_______,在某一细节操作上做出榜样,并形成_______,使每个员工不敢马虎,无法_______。只有这样,企业的工作才能真正做细。填入划横线
有关单端固定桥的应力分析说法错误的是()。
曲面∑为锥面z2=x2+y2(0≤z≤1)的下侧,计算
Whistlingthemerrytune,______.
最新回复
(
0
)