首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的DataList类,是一个用于表示数据表的类。sort成员函数的功能是将当前数据表中的元素升序排列。请编写这个sort函数。程序的正确输出应为: 排序前:7,1,3,11,
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的DataList类,是一个用于表示数据表的类。sort成员函数的功能是将当前数据表中的元素升序排列。请编写这个sort函数。程序的正确输出应为: 排序前:7,1,3,11,
admin
2019-05-22
45
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的DataList类,是一个用于表示数据表的类。sort成员函数的功能是将当前数据表中的元素升序排列。请编写这个sort函数。程序的正确输出应为:
排序前:7,1,3,11,6,9,12,10,8,4,5,2
排序后:1,2,3,4,5,6,7,8,9,10,11,12
要求:
补充编制的内容写在“**********333**********”与“//**********666**********”两行之间。不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序调用。
//DataList.h
#include<iostream>
using namespace std;
class DataList{//数据表类
int len;
double*d;
public:
DataList(int len,double data[]=NULL);
~DataList(){delete[]d;}
int length()const{return len;}//数据表长度(即数据元素的个数)
double getElement(int i)const{return d
;}
void sort();//数据表排序
void show()const;//显示数据表
};
void writeToFile(char*,const DataList&);
//main.cpp
#include"DataList.h"
DataList::DataList(int len,double data[]):len(len){
d=new double[len];
for(int i=0;i<len;i++)
d
=(data=NULL?0.0:data
);
}
void DataList::sort(){//数据表排序
//**********333**********
//**********666**********
}
void DataList::show()const{//显示数据表
for(int i=0;i<len-1;i++)cout<<d
<<",";
cout<<d[len-1]<<endl;
}
int main(){
double s[]={7,1,3,11,6,9,12,10,8,4,5,2};
DataList list(12,s);
cout<<"排序前:";
list.show();
list.sort();
cout<<endl<<"排序后:";
list.show();
writeToFile(" ",list);
return0;
}
选项
答案
for(int i=0;i<len;++i)//从头遍历数组d for(int j=i;j<len;++j) //从i+1处遍历数组d if(d[i]>d[j]) //d[i]和d[j]比较人,如果大于,就d[i]和d[j]值交换 { int temp=d[i]; //把临时整型变量temp赋值为d[i] d[i]=d[j];//把d[j]赋值给d[i] d[j]=temp;//把temp值赋给d[j] }
解析
主要考查的是DataList类,其中涉及动态数组、构造函数、析构函数、const函数和排序算法。Sort函数是一个排序函数,对于排序可以使用的方法很多,考生只需要使用自己最擅长的方法即可,题目并没有指定考生使用哪种方法。
本题使用最简单的冒泡排序算法,首先明确要排序的动态数组d,其长度为len,在此可以使用两个下标i和j相比较,当d
>d[j]时,数组内的值利用中间变量temp进行交换。
转载请注明原文地址:https://kaotiyun.com/show/QI8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
已知如下程序的输出结果是23,请将画线处缺失的部分补充完整。#include<iostream>usingnamespacestd;classMyClass{public:voidPrint()c
有如下程序:#include<iostream>usingnamespacestd;classGA{public:virtualintf(){return1;}};classGB:pu
有如下4个语句:①eout<<’A’<<setfill(’$’)<<lefl<<setw(7)<<’B’<<endl;②eout<<setfill(’*’)<<lefl<<setw(7)<<’A’<<’B’<<endl;③eout<
线性结构一个数据结构是线性结构还是非线性结构,判断依据是数据结构前后件关系的复杂程度,而与其所使用的存储结构是没有关系的。在一个非空的队列中,每一个元素只有一个前件和后件,因此它属于线性结构。
A、 B、 C、 D、 B因为对象a被定义为常对象,所以a.disp()语句调用的是类的常成员函数voiddispoconst,输出的结果是disp2。
break此题考查的是流程控制语句。“只在循环语句或switch语句中使用”的流程控制语句只有break。
A、 B、 C、 D、 B本题考查数据库的关系运算。两个关系的并运算是指将第一个关系的元组加到第二个关系中,生成新的关系。因此,并运算不改变关系表中的属性个数,也不能减少元组个数。两个关系的交运算是包含同时出
A、 B、 C、 D、 D本题考查软件工程中软件设计的概念和原理。人们在开发计算机软件的长期实践中积累了丰富的经验,总结这些经验得到如下的启发式规则:①改进软件结构,提高模块独立性。通过模块的分解或合并,力求
A、 B、 C、 D、 C栈的操作规则是后进先出,队列的运算规则是先进先出。对于本题,出队顺序也就是入队顺序,同样也是出栈顺序,为了得到b、d、c、f、e、a出栈顺序,则入栈顺序应该是a进、b进、b出、c进、
下列关于运算符重载的描述中,正确的是A)运算符重载可以改变操作数的个数B)运算符重载可以改变运算符的优先级C)运算符重载可以改变运算符的结合性D)运算符重载可以使运算符实现特殊功能
随机试题
某中职学校招收了一批福利院的孤儿。该校的社会工作者建议校方把资助款汇到孤儿学生的银行卡里,让他们自己去交学费和住宿费,并且在班级组成、活动组织等方面不对他们作特殊的安排。社会工作者的上述建议遵循了()原则。
受刺激后,机体由活动状态转变为相对静止状态称为抑制。
Moreandmorestudentswanttostudyin"hot"majors.【C1】______aresult,manystudentswantto【C2】______theirinterestsandstu
关于沥青混凝土拌和站场地建设要求的说法错误的是()。
毛泽东思想的活的灵魂之一——“实事求是”的基本要求是()。
根据班杜拉的动机理论,产生自我效能感的基础是()。
Fallingsalesandrisingoverheadshaveobligedthecompanytorevieweachcustomer’s______limit.
设f(x)在(—∞,+∞)内二阶可导且f"(x)>0,则x>0,h1>0,h2>0,有
有关键码值为10,20.30的三个结点,按所有可能的插入顺序去构造二叉排序树。能构造出多少棵不同的二叉排序树?
语句ofstreamf("SALARY.DAT",ios::app|los::binary);的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且______。
最新回复
(
0
)