当前位置:首页 > 非电类c++大一期末复习资料
算法语言与程序设计Ⅱ期终考试(10-11-3学期)
非电类 上机考试试卷 B (6月16日)
学号 姓名 机位号 成绩
(考试时间70分钟,每题50分,共100分)
说明:首先在Z盘建立一个以自己的学号命名的文件夹,用于保存上交的考试文件。先在D或E盘对以下问题按要求编缉程序,调试运行,输出结果。然后将源文件和自己的头文件(若存在)复制到Z盘自己的文件夹中。 一、输入并调试下面程序 (50分)
【程序功能】下列程序是一个冒泡排序(升序)程序,通过随机函数生成20-49之间随机整数放入数组,要求排序后输出到屏幕和数据文件,数据文件的文件名必须是data学号.txt。 【程序调试要求】在给定的程序中,可以修改或适当增加少数几个语句,但不允许删除语句。程序中每正确地修改一处错误得10分。
【注意】 将源程序以“学号_1.cpp”为文件名存入Z盘自己的目录中。
#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盘自己的文件夹中。
共分享92篇相关文档