问题 问答题

请使用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)constreturn d[i];
void sort();//数据表排序
void show () const; //显示数据表
;
void writeToFile (char*, constDataList&);
//main.cpp
#include "DataList.h"
DataList::DataList(int len,double data[]):len(len)
d=new double[len];
forint i=0;i<len;i++)
d[i]=(data==NULL0.0:data[i]);

void DataList::sort()//数据表排序
//********333********
//********666********

void Datalist::show()const
//显示数据表
for(int i=0;i<len-1;i++)cout<<d[i]<<",";
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);
return 0;

答案

参考答案:for(inti=0;i<len;++i)
//从头遍历数组d
for(int j=i;j<len;++j)
//从i+l处遍历数组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[i]>d[j]时,数组内的值利用中间变量temp进行交换。

材料分析题

在抢救四川汶川地震受灾群众过程中,搜救人员发现一位已经死去的母亲。她用双臂支撑着前倾的身体,保护着一个三四个月大的熟睡的孩子,包着孩子的被子里有一部手机,屏幕上有一条已经写好的短信:“亲爱的宝贝,如果你能活下去,一定记住我爱你。”

●当一名小女孩从废墟中解救出来时,周围的人都哭了:已经故去的年轻父母脸对脸、胳膊搭着胳膊,用自己的身体搭成一个拱形,在地震发生的一瞬挡住倒下来的墙体,用血肉之躯为自己的孩子构筑一道“生命的围墙”。

●丘索维金娜----北京奥运会,我们记住了这个名字。这位德国籍体操运动员,她的生活原本幸福美满。然而,2002年,丘索维金娜的儿子被诊断患上白血病。由于治疗白血病需要高昂的费用,生活并不富裕的丘索维金娜一家实在难以支付,于是丘索维金娜选择了复出参赛,为了儿子,从26岁开始,丘索维金娜朝全能型发展。于是,丘索维金娜开始了训练、到处比赛的生活,此后,丘索维金娜一直战斗在赛场上,以一个母亲的身份。丘索维金娜说:“对我来说,儿子就是我全部的生命。只要他还生病,我就一直坚持下去。他就是我的动力。”

探究发现:从以上材料中,你能得出什么结论?试着写两条吧。

________________________________________________________________________________________________________________________________________________________________________________________

行为践行:读了以上材料,在以后的生活中,你会怎么做?

________________________________________________________________________________________________________________________________________________________________________________________

真情告白:很快就要到春节了,想起一年来父母为我们所做的一切,请你向父母说一句真心话。

________________________________________________________________________________________________________________________________________________________________________________________

单项选择题