首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分的程序。实现函数sort(intA[],int n),用冒泡法将数组排序。 提示:所谓冒泡法,就是每次把相邻的两个数交换,较大的数交换到后面。这样下标从0到n.1
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分的程序。实现函数sort(intA[],int n),用冒泡法将数组排序。 提示:所谓冒泡法,就是每次把相邻的两个数交换,较大的数交换到后面。这样下标从0到n.1
admin
2019-05-29
88
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分的程序。实现函数sort(intA[],int n),用冒泡法将数组排序。
提示:所谓冒泡法,就是每次把相邻的两个数交换,较大的数交换到后面。这样下标从0到n.1的数与其后面相邻的数交换,可以把最大的数交换到数组的末端。进行n次下标从0到n-1的交换,则数组则会变成有序的,而且是由大到小的顺序。
注意:不能修改程序的其他部分,并且不能删除其他的部分,也不能修改程序的结构。
#include<iostream.h>
#define N10
void sort(int A[N],int n)
{
}
int main()
{
int A[N]={5,7,4,6,10,13,78,-4,9,20};
sort(A,10);
for(int i=0;i<sizeof(A)/sizeof(int);i++)
{
cout<<A
<<’ ’;
}
cout<<endl;
return0;
}
选项
答案
int=i,j,k,t; for(i=0;i<n-1;i++) { for(k=i,j=i+1;j<n;j++) if(A[k]<A[j])//如果前面的比后面的小则需要交换 k=j; if(k!=i)//交换 { t=A[i]; A[i]=A[k]; A[k]=t; } }
解析
(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://www.kaotiyun.com/show/o68p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
A、 B、 C、 D、 B特别要注意“结点的度”和“树的度”是两个不同的概念。“结点的度”指的是此结点拥有的后件个数。“树的度”指的是所有结点中的最大的度。在二叉树中,结点中最大的度为2,所以二叉树的度为2。
A、 B、 C、 D、 B此题考查的是虚函数的概念。在成员函数的声明前面加上virtual关键字,即可把函数声明为虚函数。虚函数可以是另一个函数的友元函数而不能是静态成员函数。
A、 B、 C、 D、 Ccin是istream输入流类的派生类istream_withassign对象。cout是ostream输出流类的派生类ostream_withassign对象。
A、 B、 C、 D、 CE-R模型中,有3个基本的抽象概念:实体、联系和属性。E-R图是E-R模型的图形表示法,在E-R图中,用矩形框表示实体,菱形框表示联系,椭圆形框表示属性。
A、 B、 C、 D、 B算法的空间复杂度一般是指:执行这个算法所需要的存储空间,其中包括算法程序所占的空间、输入的初始数据所占用的存储空间以及算法执行过程中所需要的额外空间。
A、 B、 C、 D、 D在线性链表中,各元素在存储空间中的位置是任意的,各元素的顺序也是任意的,依靠指针来实现数据元素的前后件关系。
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数,而非虚函数不支持多态调用。有如下程序:#include<iostream>usingnamespaees
针对数组定义intdata[10];,下列叙述中错误的是A)用*data可访问到数组的首元素B)用data[9]可访问到数组的末元素C)用data[10]访问数组元素会超出数组的边界D)data共有10个元素,其首元素是data[1]
下列字符串中,正确的C++标识符是()。
以下选项中合法的用户标识符是
随机试题
"Mum,whatdoesitmeanwhensomeonetellsyouthattheyhaveaskeletoninthecloset?"Jessicaasked."Askeletonintheclose
Bornin1830inruralAmherst,Massachusetts,EmilyDickinsonspentherentirelifeinthehouseholdofherparents.Between185
不属于人身保险合同的是()
关于持有待售资产的会计处理,下列说法中正确的有()。
中国采取的小是民主共和国联邦制度,而是民旅区域自治制度。实践证明,这一制度有利于()。
李某在山上劳作,遇到邻村的妇女王某路过,便拿着镰刀欲对王某实施抢劫,不料被王某夺下镰刀,向其头上猛砍一刀,当即将李某杀死。王某的行为属于正当防卫。()
从所给的四个选项中,选择最合适的一个填入问号处,使之呈现一定的规律性。()
下列法律关系中的法律事实属于法律行为的是()。
小张和小赵从事同样的工作,小张的效率是小赵的1.5倍。某日小张工作几小时后小赵开始工作,小赵工作了1小时之后,小张已完成的工作量正好是小赵的9倍。再过几个小时,小张已完成的工作量正好是小赵的4倍?()
AudienceAwarenessofWritingI.Introduction—audiencereferstoreadersofwrittenmaterials—thecontent,structureandthe
最新回复
(
0
)