首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部门的程序。实现函数sort(int A[],int n),用冒泡法将数组排序。 提示:所谓冒泡法,就是每次把相邻的两个数交换,较大的数交换到后面。这样下标从
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部门的程序。实现函数sort(int A[],int n),用冒泡法将数组排序。 提示:所谓冒泡法,就是每次把相邻的两个数交换,较大的数交换到后面。这样下标从
admin
2018-10-23
44
问题
使用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>voidfun(inta,mtb,intC){a=456,b=567,c=678;}voidmain(){intx=10,y=20,z=30;
请将下列类定义补充完整。classBase{public:voidfun(){cout<<"Base∷fun"<<end1;}};c1assDehVed:publicBase{public:
结构化程序设计的3种基本结构分别是顺序、选择和______。
下面程序错误的语句是#include"iostream.h"①voidmain()②{③intA=0;④int&B;⑤B=A;⑥cout<<B;⑦
在岂个容量为25的循环队列中,若头指针front=9,尾指针Year=16,则该循环队列中共有______个元素。
虚基类说明格式如下:slass派生类名【】<继承方式><基类名>。
若类A和类B的定义如下classA{inti,j;public:intgeti(){returni;}};classB:publicA{
下列不是软件工程基本目标的是()。
在最坏情况下,冒泡排序所需要的比较次数为
一个算法通常由两种基本要素组成:一是对数据对象的运算和操作,二是______。
随机试题
与传统行政权力相比,现代行政权力有许多不同的特点,主要表现在________、__________、__________。
急性脓胸的治疗原则
LC用于
牵引术助产的适应证是.
按施工分块仓面强度计算法对混凝土生产系统规模进行核算时,与下列()因素有关。
在Excel5.0中,公式ABS(-13.76)的结果等于()。
某市一条大街长10080米,从起点到终点共设有9个公交车站,那么每两个车站之问的平均距离是()米。
与10月相比,12月“家电下乡”产品中销售量增加一倍以上的产品有多少种?
设(I)和(Ⅱ)是两个四元齐次线性方程组,(I)的系数矩阵为(Ⅱ)的一个基础解系为η1=(2,一1,a+2,1)T,η2=(一1,2,4,a+8)T.(1)求(I)的一个基础解系;(2)a为什么值时(I)和(Ⅱ)有公共非零解?此时求出全部公共非零解
A、 B、 C、 D、 C
最新回复
(
0
)