首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部门的程序。实现函数sort(int A[],int n),用冒泡法将数组排序。 提示:所谓冒泡法,就是每次把相邻的两个数交换,较大的数交换到后面。这样下标从
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部门的程序。实现函数sort(int A[],int n),用冒泡法将数组排序。 提示:所谓冒泡法,就是每次把相邻的两个数交换,较大的数交换到后面。这样下标从
admin
2018-10-23
52
问题
使用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全国计算机二级
相关试题推荐
三种基本结构中,能简化大量程序代码行的是()。
C++语言中关于构造函数的说法正确的是
结构化程序设计主要强调的是
有如下程序:#include<iostream>usingnamespacestd;classCA{public:CA(){cout+’A’;}};classCB:privateCA{pu
有下列程序:#include<iostream>usingnamespacestd;classTest{public:Test(){n+=2;}~Test(){n-=3;}s
设计程序时应采纳的原则之一是()。
下面程序编译时发现ma[3]=9错误,其原因是______。#include<iostream.h>classFunArray{int*pa;//指向一个数组空问intsize;//数组元素个
设有以下类和对象的定义:classA{public:intm;…};Ak1,k2,*p1,*p2;则下面针对成员变量m的引用,错误的是
以下程序中,while循环的循环次数是main(){inti=0;while(i<10){if(i<1)continue;if(i==5)break;i++;)}
软件工程的理论和技术性研究的内容主要包括软件开发技术和
随机试题
采用资产基础法和收益法评估具有控制权的股权价值,确定最终评估结论时,需要考虑的具体问题有()。
A.疝内容物易回纳入腹腔B.疝内容物不能完全回纳入腹腔C.疝内容物有动脉性血循环障碍D.疝内容物被疝环卡住不能还纳,但无动脉性循环障碍E.疝内容为部分肠壁不能还纳嵌顿性疝
安全教育培训制度的内容应包括()。
从外单位取得的原始凭证遗失时,必须取得原签发单位盖有公章的证明,并注明原始凭证的号码、金额、内容等,由经办单位会计机构负责人、会计主管人员审核签章后,才能代作原始凭证。
基金监管工作的目标不包括()。
下列属于商业银行流动性风险预警指标中的融资指标/信号的是()。
以下属于特许经营形式的有()。
刺绣是用针引线在绣料上穿刺出一定图案和色彩花纹的装饰织物。()
Societyisgenerallyamenabletosubsidizingscience’sexpensivemachinery,whichatsomepointwillprovidecivilizatio
A、Simpletoolsarenecessaryformankind.B、Simpletoolscanbeverycomplicated.C、Simpletoolsareforgotteninthemodernsoc
最新回复
(
0
)