c机考题目加复习资料Word文档下载推荐.docx

上传人:b****6 文档编号:16936239 上传时间:2022-11-27 格式:DOCX 页数:31 大小:23.62KB
下载 相关 举报
c机考题目加复习资料Word文档下载推荐.docx_第1页
第1页 / 共31页
c机考题目加复习资料Word文档下载推荐.docx_第2页
第2页 / 共31页
c机考题目加复习资料Word文档下载推荐.docx_第3页
第3页 / 共31页
c机考题目加复习资料Word文档下载推荐.docx_第4页
第4页 / 共31页
c机考题目加复习资料Word文档下载推荐.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

c机考题目加复习资料Word文档下载推荐.docx

《c机考题目加复习资料Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c机考题目加复习资料Word文档下载推荐.docx(31页珍藏版)》请在冰豆网上搜索。

c机考题目加复习资料Word文档下载推荐.docx

for(inti=0;

i<

card;

++i)

if(elems[i]==elem)

returnTrue;

returnFalse;

ErrCodeSet:

AddElem(intelem)

if(Member(elem))

returnnoErr;

if(card<

maxCard)

{

elems[card++]=elem;

}

returnoverflow;

voidSet:

RmvElem(intelem)

for(inti=0;

i<

++i)

{

for(;

card-1;

elems[i]=elems[i+1];

--card;

return;

}

Copy(Set*set)

i<

card;

set->

elems[i]=elems[i];

set->

card=card;

Equal(Set*set)

if(card!

=set->

card)

returnFalse;

++i)

//判断当前集合的某元素是否是set所指集合中的元素

if(!

set->

Member(elems[i]))

returnFalse;

returnTrue;

Print()

cout<

<

"

{"

;

cout<

elems[i]<

"

}\n"

Intersect(Set*set,Set*res)//交集:

*this∩*set->

*res

res->

card=0;

for(intj=0;

j<

++j)

if(elems[i]==set->

elems[j]){

res->

elems[res->

card++]=elems[i];

break;

}

Union(Set*set,Set*res)//并集:

*set∪*this->

Copy(res);

if(res->

AddElem(elems[i])==overflow)

returnoverflow;

returnnoErr;

//下面是测试用的主程序

voidmain()

Sets1,s2,s3;

s1.EmptySet();

s2.EmptySet();

s3.EmptySet();

s1.AddElem(10);

s1.AddElem(20);

s1.AddElem(30);

s1.AddElem(40);

s2.AddElem(30);

s2.AddElem(50);

s2.AddElem(10);

s2.AddElem(60);

s1="

s1.Print();

s2="

s2.Print();

s2.RmvElem(50);

s2-{50}="

if(s1.Member(20))

cout<

20isins1\n"

s1.Intersect(&

s2,&

s3);

s1intsecs2="

s3.Print();

s1.Union(&

s1unions2="

if(!

s1.Equal(&

s2))

s1!

=s2\n"

2.实现一个大小可变的整型数据元素集合,集合可存储的数据元素个数在对象构造时给定,由构造函数为数据元素分配存储空间,在对象被释放时由析构函数释放存储空间。

P78.3.25

constmaxCard=16;

//集合中元素个数的缺省最大值

//Bool类型定义

classSet

{intsize;

//元素的最大个数

int*elems;

//存储元素的数组

intcard;

//集合中元素的个数

Set(intsz=maxCard)

{card=0;

size=sz;

elems=newint[size];

~Set(){delete[]elems;

if(elems[i]==elem)

if(card<

size)

elems[card++]=elem;

elems[i]=elems[i+1];

if(set->

size<

delete[]set->

elems;

elems=newint[size];

size=size;

elems[i]=elems[i];

card=card;

if(card!

=set->

Member(elems[i]))

elems[i]<

if(card>

0)

elems[card-1];

Intersect(Set*set,Set*res)

if(res->

delete[]res->

res->

card=0;

for(intj=0;

j<

++j)

if(elems[i]==set->

elems[j])

{

card++]=elems[i];

Union(Set*set,Set*res)

size+set->

delete[]res->

elems=newint[size+set->

size];

size=size+set->

size;

AddElem(elems[i])==overflow)

s3.Print();

3.设计一个学生类student,它具有的私有数据成员是:

注册号、姓名、数学成绩、英语成绩、计算机成绩;

具有的公有成员函数是:

求三门课程总成绩的函数sum();

求三门课平均成绩average();

显示学生数据信息的函数print();

获取学生注册号的函数get_reg_num;

设置学生数据信息的函数set_stu_inf()。

P81。

6

编制主函数,说明一个student类对象的数组并进行全班学生信息的输入及设置,而后求出每一个学生的总成绩、平均成绩、全班学生总成绩最高分、全班学生总平均分,并在输入一个注册号后,输出该学生有关的全部数据信息。

#include<

iostream>

string>

usingnamespacestd;

classStudent{

private:

intnum;

charname[10];

floatmath;

floatenglish;

floatcomputer;

public:

voidset_stu_inf(intn,char*ch,floatm,floate,floatc)

num=n;

strcpy(name,ch);

math=m;

english=e;

computer=c;

floatsum()

return(math+english+computer);

floataverage()

return(math+english+computer)/3;

intget_reg_num()

returnnum;

voidprint()

cout<

学号:

num<

endl

<

姓名:

name<

数学:

math<

英语:

english<

计算机:

computer<

总分:

sum()<

平均分:

average()<

endl;

intmain()

Studentstu[50];

inti,q,a,z,x,max=0,aver=0;

//i为循环变量,q:

学号;

a:

数学成绩;

//z:

英语成绩;

x:

计算机成绩

intcount=0;

//表示学生人数

char*we=newchar[10];

//输入学生信息

for(;

请输入学生的学号、姓名、数学成绩、英语成绩、计算机成绩:

(若输入的学号为0则表示退出)"

<

endl;

cin>

>

q>

we>

a>

z>

x;

if(q==0)

break;

stu[count++].set_stu_inf(q,we,a,z,x);

if(max>

a+z+x);

elsemax=a+z+x;

aver+=(a+z+x);

//输出所有学生信息

学生信息为:

endl<

for(i=0;

count;

i++){

stu[i].print();

全班学生总成绩最高分为"

max<

<

全班学生总平均分为"

aver/3<

请输入要查的学生的学号:

cin>

q;

if(q==stu[i].get_reg_num())

此学生信息为:

stu[i].print();

if(i==count)

查无此人"

return0;

4.定义复数类complex,使用友元函数,完成复数的加法、减法、乘数运算,以及复数的输出。

P95.4.8

classComplex

doublereal;

doubleimage;

Complex(doubler=0,doublei=0)

real=r;

image=i;

friendvoidinputcomplex(Complex&

comp);

friendComplexaddcomplex(Complex&

c1,Complex&

c2);

friendComplexsubcomplex(Complex&

friendComplexmulcomplex(Complex&

friendvoidoutputcomplex(Complex&

voidinputcomplex(Complex&

comp)

cin>

comp.real>

comp.image;

Complexaddcomplex(Complex&

c2)

Complexc;

c.real=c1.real+c2.real;

c.image=c1.image+c2.image;

returnc;

Complexsubcomplex(Complex&

c.real=c1.real-c2.real;

c.image=c1.image-c2.image;

Complexmulcomplex(Complex&

c.real=c1.real*c2.real-c1.image*c2.image;

c.image=c1.real*c2.image+c1.image*c2.real;

voidoutputcomplex(Complex&

cout<

("

comp.real<

"

comp.image<

)"

 

voidmain()

Complexc1,c2,result;

请输入第一个复数的实部和虚部:

inputcomplex(c1);

请输入第二个复数的实部和虚部:

inputcomplex(c2);

result=addcomplex(c1,c2);

outputcomplex(c1);

+"

outputcomplex(c2);

="

outputcomplex(result);

\n-------------------------"

result=subcomplex(c1,c2);

-"

result=mulcomplex(c1,c2);

*"

5.某单位所有员工根据领取薪金的方式分为如下几类:

时薪工(hourlyworker)、计件工(pieceworker)、经理(manager)、佣金工(commissionworker)。

时薪工按工作的小时支付工资,对于每周超过50小时的加班时间,按照附加50%薪水支付工资。

按生产的每件产品给计件工支付固定工资,假定该工人仅制造一种产品。

经理每周得到固定的工资。

佣金工每周得到少许的固定保底工资,加上该工人在一周内总销售的固定百分比。

试编制一个程序来实现该单位的所有员工类,并加以测试。

P1255.15

string.h>

classemployee//雇员类

protected:

//姓名

charemp_id[8];

//职工号

doublesalary;

//薪金数

voidsetinfo(char*empname,intempsex,char*empid)//设置雇员的基本信息

strcpy(name,empname);

strcpy(emp_id,empid);

voidgetinfo(char*empname,char*empid)//取得雇员的基本信息

strcpy(empname,name);

strcpy(empid,emp_id);

doublegetsalary()//取得所应得的总薪金数

returnsalary;

classhourlyworker:

publicemployee//时薪工

inthours;

//工作的小时数

doubleperhourpay;

//每小时应得的报酬

hourlyworker()

hours=0;

perhourpay=15.6;

intgethours()//取得某人工作的小时数

returnhours;

voidsethours(inth)//设置某人工作的小时数

hours=h;

doublegetperhourpay()//取得每小时应得的报酬

returnperhourpay;

voidsetperhourpay(doublepay)//设置每小时应得的报酬

perhourpay=pay;

voidcomputepay()//计算工资

if(hours<

=40)

salary=perhourpay*hours;

else

salary=perhourpay*40

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1