非电类c++大一期末复习资料(6)

2025-08-16

5、(15) p2->next (16) p2->next (17) p2

算法语言与程序设计Ⅱ期终考试(10-11-3学期)

非电类 上机考试试卷 A (6月16日)

学号 姓名 机位号 成绩

(考试时间70分钟,每题50分,共100分)

说明:首先在Z盘建立一个以自己的学号命名的文件夹,用于保存上交的考试文件。先在D或E盘对以下问题按要求编缉程序,调试运行,输出结果。然后将源文件和自己的头文件(若存在)复制到Z盘自己的文件夹中。 一、输入并调试下面程序 (50分)

【程序功能】下列程序是一个选择排序(升序)程序,通过随机函数生成0-99之间随机整数放入数组,要求排序后输出到屏幕和数据文件,数据文件的文件名必须是data学号.txt。 【程序调试要求】在给定的程序中,可以修改或适当增加少数几个语句,但不允许删除语句。程序中每正确地修改一处错误得10分。

【注意】 将源程序以“学号_1.cpp”为文件名存入Z盘自己的目录中。

#include #include #include #include

void sort(int *p,int n) { }

int i,j,k;

for(i=0;i

for(j=i+1;j

if(p[i]

k=p[i]; p[i]=p[j]; p[j]=k;

void main(void) {

int a[10],*p=a; srand(time(NULL));

for(int i=0;i<10;i++)

*p++=rand();

//初始化随机发生器

for(i=0;i<10;i++) cout<

sort(p,10); ofstream outfile; for(i=0;i<10;i++) {

cout<

} }

cout<

二、面向对象编程 (50分)

【题目】编写一个简单的考生成绩管理系统。 【要求】按以下描述和要求建立类Examinee,完善类中所有成员函数的代码。 注:不允许擅改成员权限及增加、删除函数和改变函数的功能。包括主函数每个函数各为10分。 Examinee 私有int id; // 准考证号 成员 float score; //考试成绩 公有Examinee(int eid=0, float es=0); //带缺省值的构造函数,成员 形参eid用于初始化id, es用于初始化score void input(); // 键盘输入一位考生的准考证号和成绩 int operator >(Examinee & b); // 大于”>”运算符重载: 比较两个考生成绩,若当前考生成绩大于考生b成绩,返回1;否则返回0; 友元friend ostream & operator <<(ostream &os, Examinee & 函数 b); // 通过输出流对考生信息进行输出,准考证号和考试成绩各占8个符号宽度,考生信息独占一行; 2. 建立主函数进行测试: 1) 用缺省值建立N名考生的Examinee类的对象数组(数组名为ks),在循环中调用成员函数从键盘输入每位考生的信息数据;

2)利用“>”运算符重载函数找出考试成绩最高和最低的考生,利用输出流运算符<<重载函数输出他们的信息到屏幕; 3. 测试中,假定N=4,测试用学生信息: 准考证号 考试成绩

10 82 20 86 15 75 30 78

【提示】重载输出流运算符<<的函数中用os代替cout,函数返回os。在主函数中用cout输出每个对象。

【注意】 将源程序以文件名“学号_2.cpp”存入Z盘自己的文件夹中。

算法语言与程序设计Ⅱ期终考试(10-11-3学期)

非电类 上机考试试卷 B (6月16日)

学号 姓名 机位号 成绩

(考试时间70分钟,每题50分,共100分)

说明:首先在Z盘建立一个以自己的学号命名的文件夹,用于保存上交的考试文件。先在D或E盘对以下问题按要求编缉程序,调试运行,输出结果。然后将源文件和自己的头文件(若存在)复制到Z盘自己的文件夹中。 一、输入并调试下面程序 (50分)

【程序功能】下列程序是一个冒泡排序(升序)程序,通过随机函数生成20-49之间随机整数放入数组,要求排序后输出到屏幕和数据文件,数据文件的文件名必须是data学号.txt。 【程序调试要求】在给定的程序中,可以修改或适当增加少数几个语句,但不允许删除语句。程序中每正确地修改一处错误得10分。

【注意】 将源程序以“学号_1.cpp”为文件名存入Z盘自己的目录中。

#include #include #include

void sort(int *p,int n) { }

void main(void)

int i,j,k;

for(i=0;i

for(j=n-1;j>i;j--)

if(p[j]>p[j-1]) { }

k=p[j]; p[j]=p[j-1]; p[j-1]=k;

{

int a[10],*p=a; srand(time(NULL));

for(int i=0;i<10;i++)

*p++=rand();

//初始化随机发生器

for(i=0;i<10;i++) cout<

sort(p,10);

ofstream outfile; for(i=0;i<10;i++) {

outfile<

cout<

} }

outfile<

二、面向对象编程 (50分)

【题目】编写一个简单的复数计算程序。

【要求】按以下描述和要求建立类Complex,完善类中所有成员函数的代码。 注:不允许擅改成员权限及增加、删除函数和改变函数的功能。包括主函数每个函数各为10分。 Complex 私有float r; //实部 成员 float i; //虚部 公有Complex(float rr=0, float ii=0); //带缺省值的构造函数,形成员 参rr用于初始化实部r, ii用于初始化虚部i void input(); // 键盘输入一个复数的实部和虚部 int operator < (Complex& b); // 小于”<”运算符重载: 比较两个复数的模,若当前复数模小于复数b的模,返回1;否则返回0;; 友元friend ostream & operator <<(ostream &os, Complex& b); 函数 // 通过输出流对复数信息进行输出,实部和虚部各占8个符号宽度,每个复数独占一行; 2. 建立主函数进行测试: 1) 用缺省值建立N个复数的对象数组(数组名为fs),在循环中调用成员函数从键盘输入每个复数的信息数据;

2)利用“<”运算符重载函数找出模最大和最小的复数,利用输出流运算符重载函数输出他们的信息到屏幕;

3)复数模的计算公式为:r*r?i*i,求平方根的函数为sqrt(double),包含在头文件math.h中;

3. 测试中,假定N=4,测试用复数信息: 实部 虚部

20 6 10 2 30 8 15 5

【提示】重载输出流运算符<<的函数中用os代替cout,函数返回os。在主函数中用cout输出每个对象。

【注意】 将源程序以文件名“学号_2.cpp”存入Z盘自己的文件夹中。


非电类c++大一期末复习资料(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:35吨履带起重机臂架系统 - 图文

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219