南理工C++试题

2026/1/27 7:13:06

for(int i=1; i

if(a[i]>max) max=a[i]; if(a[i]<*min) *min=a[i];

}

return max; //利用函数值返回最大值 }

main() { int n;

float a[200];

float max, *min=&a[0];

cout<<\请输入的 n 数值,n小于200\cin>>n;

// 输入n 个数,输出最大值及最小值 // 插入相应的程序 2分 for (int i=0; i>a[i];

cout<<\最大值=\ cout<<\最小值=\

}

3(4分)若一链表结点结构如下: struct Node{ int data; Node *next;};

完善如下DeleteNode()函数;函数的功能为:若从链表的首指针 h所指向的链表中找到一个结点的数据为x时,则从该链表中删除该结点。指针 h的值为0(NULL)时,表示链表为空。允许x不在链表中。

Node * DeleteNode(Node *h, int x) { Node *p,*q;

if(h == 0) return h; if(h->data==x)

{ if(h->data==x){ 中 }

p=h; h= h->next; delete p; //插入相应的程序 3分

9

} else

{ p=h->next; q=h;

while( p && p->data!=x) { q=p; p=p->next;}

if(p!=0) {q->next= p->next; delete p;}

//插入相应的程序 3分 }

return h; }

四、(10分)根据题目要求写出程序

1.(4分)用两种不同的方法求出二个整数的最大公约数。且求二个整数的最大公约数用函数来实现,该函数放在一个头文件中(如 xxx.h)。二个整数从键盘输入。 (1) 写出二个求整数的最大公约数函数;放在一个头文件中(如 xxx.h)//2分 (2)写出主函数;//2分 //xxx.h—头文件部分1分

int MaxCD1(int a,int b) //方法1 { };

10

int mcd=a; //mcd--最大公约数 if (mcd

{ if((!(a%mcd))&&(!(b%mcd))) ctl=0; }

return mcd;

if (ctl) mcd--;

2.(6分)描述一个复数类Complex,私有数据为实部Real和虚部Imag 要求Complex类能提供如下操作(方法):

(1) 有构造函数,缺省时实部Real和虚部Imag置为0;//1分 (2) 能修改并读取Real的值; //1分 (3) 能修改并读取Imag的值 //1分

(4) 重载运算符 +=,完成两个复数的加法;//1分 (5) 重载运算符 -=,完成两个复数的减法;//1分 (6) 重载运算符 *=,完成两个复数的乘法;//1分

class Complex{

double Real,Imag; public:

Complex(double a=0,double b=0) { Real=a; Imag=b;} //1分

void SetReal(double a){Real=a;} //0.5分 void SetImag(double b){Imag=b;} //0.5分 double GetReal(){return Real;} //0.5分 double GetImag(){return Imag;} //0.5分 Complex operator +=(Complex &a) //1分 {

Complex t;

t.Real=Real+a.Real; t.Imag=Imag+a.Imag; return t; }

Complex operator -=(Complex &a) //1分 {

Complex t;

t.Real=Real-a.Real; t.Imag=Imag-a.Imag; return t; }

Complex operator *=(Complex &a) //1分 {

Complex t;

t.Real=Real*a.Real-Imag*a.Imag; t.Imag=Imag*a.Real+Real*a.Imag; return t; } };

11

一、 选择题(共40分,每个选择题2分) 1.C 2.D 3.D 4.B 5.C 6.B 7.B 8.D 9.A 10.B 11.A 12.C

13.C 14.B 15.A 16.D 17.B 18.D 19.C 20.B

二、填空(33分)

1. 三个变量的值分别为: x= 1 y= 2 z= 1 。 2.(3分)x=4.1,i=14

3.(2分)以下程序的输出结果是 10 。 4.(4分)运行以下程序的输出结果是: cdefgh 5.(2分)运行以下程序的输出结果是 x=5 y=10 x=10 y=5 。

6.(3分)以下程序的运行结果是 -5,-12,-7 。 7.(4分)B类就是B类 A类就是A类

8.(4分)下面程序的输出是 x=1000

A::p2() z=3000 C::p2()。

9.(5分)以下程序的运行结果是 OKOKOK

KOKOKO OKOKOK。

10.(5分)以下程序的运行结果是 A B 0 ~B ~A 11.(2分)在当前目录中有文本文件f1.txt,文件内容为: 1 2 3 4 5 6 7 8 9 10

执行下面的程序后,文件file2中的内容是 90。2 。 平均分数 二、 完善程序(每空1分,共15分,答题请注明序号)

//1.(5分)以下程序的功能是输入二个字符串,把这两个字符串拼成一个新的字符串,然后输出这三个字符串。完善程序。 #include

12


南理工C++试题.doc 将本文的Word文档下载到电脑
搜索更多关于: 南理工C++试题 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

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

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