首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部门的程序。实现函数sort(int A[],int n),用冒泡法将数组排序。 提示:所谓冒泡法,就是每次把相邻的两个数交换,较大的数交换到后面。这样下标从
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部门的程序。实现函数sort(int A[],int n),用冒泡法将数组排序。 提示:所谓冒泡法,就是每次把相邻的两个数交换,较大的数交换到后面。这样下标从
admin
2018-10-23
64
问题
使用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全国计算机二级
相关试题推荐
函数swap(a,n)可完成对a数组从第1个元素到第n个元素两两交换。其中b[=1;b[1]=2;swap(b,2)。在运行调用函数中的语句后,b[0]和b[1]的值分别为()。
三种基本结构中,能简化大量程序代码行的是()。
下面程序的结果是#include"iostream.h"voidmain(){char*str;Str="test!";cout<<str[5];}
下列程序用于将源文件中的字母进行大小写转换,请填写while的请句。#include<iostream.h>#include<fstream.h>#include<iomanip.h>voidmain(){cha
在岂个容量为25的循环队列中,若头指针front=9,尾指针Year=16,则该循环队列中共有______个元素。
下列特征中不是面向对象方法的主要特征的是()。
对长度为n的线性表进行顺序查找,在最坏情况下需要比较的次数为()。
有如下程序:#include<iostream>usingnamespacestd;classDA{intk;public:DA(intx=1):k(x){}~DA(){cout<<k;}
对于下面定义的类MyClass,请在函数f()中添加对象成员把n的值修改为50。ClassMyClass{Public:MyClass(intx){n=x;)VoidSetNum(intnl){n=nl;}
以下不能正确创建输出文件对象并使其与磁盘文件相关联的语句是
随机试题
具有生产效率高等优点的碾压机械开行方式是()。
脉冲触发的触发器由两个同样的电平触发SR触发器组成,也经常称为主从SR触发器。
货物采购合同管理中,关于货物价格的正确说法是()。
确立科技创新发展新蓝图,创新创业生态更加优化,公民具备科学素质的比例超过()。
执法人员当场作出行政处罚决定的,应当填写统一编号的《行政处罚(当场)决定书》,当场交付当事人,并告知当事人,如不服行政处罚决定,可以依法()。
中国公民张某准备在2016年投资新办一商业企业,在向税务师进行咨询时,税务师的以下说法中错误的是()。
美国公民约翰在上海租赁了中国公民王某一辆小汽车用于华东五市自驾游,但约翰进境前在美国预付了全部租赁费。根据个人所得税法律制度的规定,王某取得的该项租赁所得属于来源于中国境外的所得。()
It’swonderfulhoweveryoneagrees(orfearstodisagree)thatgeneticdiscriminationisabadthing.Yourgenesarebeyondyour
中国共产党决定对民族资产阶级实行又联合、又斗争的方针的根本原因和依据,在于民族资产阶级的()。
设矩阵,I为3阶单位矩阵,则(A一2I)-1=_______.
最新回复
(
0
)