题库 题库

【简答题】

请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的DataList类,是一个用于表示数据表的类。s0rt成员函数的功能是将当前数据表中的元素升序排列。请编写这个sort函数。程序的正确输出应为:
排序前:7,1,3,11,6,9,12,10,8,4,5,2 排序后:l,2,3,4,5,6,7,8,9,10,11,12
要求:
补充编制的内容写在“//********33********”与“//********666********”两行之问。不得修
改程序的其他部分。
注意:程序最后将结果输出到文件。ut.dat中。输出函数writeToFile已经编译为。obj文件,并且在本程序
调用。
//DataList.h
#inClude using namespaCe std; Class DataList{//数据表类
int len;
double*d: publiC:
DataList(int len,double data[]=NULL);。DataList(){delete[]d;}
int length(Constt retum len;}//数据表长度(即数据元素的个数) double getElement(int i)Const{return d[i];}
void sort();//数据表排序
void show()Const;//显示数据表}.
void writeToFile(Char*,Const DataList&).//main.Cpp
#inClude”DataList.h”
DataList::DataList(int len,double data[]):len(1en){ d=new double[1en];
for(int i_0;i<LEN;I++)
d[i]=(data==NULL?0.0:data[i]);
}
void DataList::sort(){//数据表排序//********333********
//********666********}
void DataList::show()Const{//显示数据表
for(int i=0;i<LEN一1;I++)COUT<<D[I]<<”,”;&NBSP;&NBSP;&NBSP;
}
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<<”排序后:”;&NBSP;
writeToFile(””,list); return 0;
}

参考答案

For(inti=0;i<lErl;++i)//从头遍历数组D
for(int j=i;j<len:++j)
//从i+1处遍历数组d
if(d[i]>d[j])
//d[j]和d[j]比较人,如果大于,就d[i]和d[j]值交换{inttemp=d[i];
//把临时整型变量temp赋值为cJ[i]d[i]=d[j];
//把d[j]赋值给d[i]d[j]=temp;//把temp值赋给d[j]
}

相关试题

单选题 在下列原型所示的C++函数中,按“传值”方式传递参数的是(  )。 查看答案
单选题 下列程序的输出结果为( )。
#include
void main()
{
char*a[]={”hell0”,”the”,”world”};
char** pa = a:
pa++;
cout<<*pa<
}
查看答案
单选题 下列语句中错误的是( )。 查看答案
单选题 数据库应用系统中的核心问题是(  )。 查看答案
单选题 下列关于函数的描述中,错误的是( )。 查看答案
单选题 下面程序的运行结果是(  )。
#include
void fun(int *a,int *B. {
int x=*a:
*a=*b;*b=X;
cout<<*a<<*b<<””:
void main() {
int X=1,Y=2; fun(&x,&y);
cout<<X<<Y<
}
查看答案
单选题 下列关于二叉树的叙述中,正确的是( )。 查看答案
单选题 关于运算符重载,下列表述中正确的是(  )。 查看答案
单选题 有以下语句,则对a数组元素的引用不正确的是(0≤i≤9)( )。
int a[10]={0,1,2,3,4,5,6,7,8,9},*P=a;
查看答案
单选题 一间宿舍可住多个学生,则实体宿舍和学生之间的联系是(  )。 查看答案
单选题 有如下函数模板:
template
T east(U u)i return u;}
其功能是将U类型数据转换为T类型数据。已知i为int型变量,下列对模板函数cast的调用中正确的是(  )。
查看答案
单选题 存在定义int a[10],x,* pa;,若pa=&a[0],下列的( )选项和其他3个选项不是等价的。 查看答案
单选题 假定int类型变量占用两个字节,其有定义int x[10]={0,2,4};,则数组x在内存中所占字节数是( )。 查看答案
单选题 下面关于类和对象的描述中,错误的是( )。 查看答案
单选题 如果在表达式++x/y中,“++”是作为友元函数重载的,…/”是作为成员函数重载的,则该表达式还可为( )。 查看答案
单选题 以下关键字不能用来声明类的访问权限的是(  )。 查看答案
单选题 有三个关系R S和T如下

则由关系R和S得到关系T的操作是( )。
查看答案
单选题 有如下头文件:
int fl();
static int f2();
class MA{
public:
int f3();
static int f4();
};
在所描述的函数中,具有隐含的this指针的是( )。
查看答案
单选题 结构化程序所要求的基本结构不包括( )。 查看答案
单选题 下面是重载为非成员函数的运算符的函数原型,其中错误的是( )。 查看答案