首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分的程序。实现函数sort(intA[],int n),用冒泡法将数组排序。 提示:所谓冒泡法,就是每次把相邻的两个数交换,较大的数交换到后面。这样下标从0到n.1
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分的程序。实现函数sort(intA[],int n),用冒泡法将数组排序。 提示:所谓冒泡法,就是每次把相邻的两个数交换,较大的数交换到后面。这样下标从0到n.1
admin
2019-05-29
112
问题
使用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://kaotiyun.com/show/o68p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
A、 B、 C、 D、 B数据流图中带箭头的线段表示数据流,沿箭头方向传递数据的通道,一般在旁边标注数据流名。
A、 B、 C、 D、 A本段程序实现从键盘接收一段字符串,并计算字符串的长度,cin输入流对象会将空白符、回车符、tab键作为终止标志,所以输入Ahcdefgabcd得到的字符串长度为7。
A、 B、 C、 D、 A本题考查数据库系统的基本概念和知识。数据的逻辑结构是数据间关系的描述,它只抽象地反映数据元素之间的逻辑关系,而不管其在计算机中的存储方式。数据的存储结构又叫物理结构,是逻辑结构在计算
A、 B、 C、 D、 B本题考查数据库的关系运算。两个关系的并运算是指将第一个关系的元组加到第二个关系中,生成新的关系。因此,并运算不改变关系表中的属性个数,也不能减少元组个数。两个关系的交运算是包含同时出
A、 B、 C、 D、 D线性表的顺序存储是用一片连续的空间来存放数据元素,其特点是逻辑上相邻的元素在物理位置上也相邻。数据元素之间逻辑上的先后关系自动隐含在物理位置的相邻元素之中,因此不需要另外开辟空间来保
下列程序的输出结果是______。#include<iostream>#include<cstring>usingnamespacestd;voidfun(constchar*S,char&C){e=
参照完整性关系模型的完整性规则是对关系的某种约束条件,它允许定义三类数据约束,分别是:实体完整性、参照完整性及自定义完整性,其中前两种完整性约束由关系数据库系统自动支持。
若有类声明:classMyClass{public:MyClass(){cout<<1;}};执行下列语句MyClassa,b[2],*P[2];以后,程序的输出结果是A)11
下列关于栈的叙述中,正确的选项是()。
下列符号中可以用作C++标识符的是()。
随机试题
对中间商的培训与扶助的方式有_______。
企业战略目标的时限通常为()
发达国家采用的老龄化社会标准是()
A.外痔B.肛裂C.直肠息肉D.肛管直肠癌E.血栓外痔
()测验既可用于成人也可用于儿童。(2004年12月三级真题)
如果关于x的一元二次方程k2x2-(2k+1)x+1=0有两个不相等的实数根,那么k的取值范围是()
以下哪一项不属于作者的文学活动?()
过圆x2+y2-10x=0内一点A(5,3)的k条弦的长度组成等差数列,且最小弦长为数列首项a1,最大弦长为数列的末项ak,若公差,则k的取值不可能是().
求曲线y=3-|χ2-1|与χ轴围成的封闭图形绕y=3旋转所得的旋转体的体积.
【S1】【S3】
最新回复
(
0
)