C++期末复习资料.docx
- 文档编号:13103864
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:22
- 大小:18.33KB
C++期末复习资料.docx
《C++期末复习资料.docx》由会员分享,可在线阅读,更多相关《C++期末复习资料.docx(22页珍藏版)》请在冰点文库上搜索。
C++期末复习资料
运行结果
第一题:
#include
#include
intFun(int,int,int&);
intFun(int,int,int,int&);
intmain()
{
inta=1,b=2,c=3,d=4;
Fun(a,b,c);
Fun(a,b,c,d);
printf("%d%d%d%d\n",a,b,c,d);
_getch();
return0;
}
intFun(inta,intb,int&c)
{
c=a*b;
return0;
}
intFun(inta,intb,intc,int&d)
{
d=a+b+c;
return0;
}
答案:
1225
第二题:
#include
#include
intFun(inta,intb,intc=10);
intmain()
{
inta=1,b=2,c=3,d;
d=Fun(a,b,c);
printf("%d\n",d);
_getch();
return0;
}
intFun(inta,intb,intc)
{
intd=c*(a+b);
returnd;
}
答案:
9
第三题:
#include
#include
intFun(inta,intb,intc=10);
intmain()
{
inta=1,b=2,c=3,d;
d=Fun(a,b);
printf("%d\n",d);
_getch();
return0;
}
intFun(inta,intb,intc)
{
intd=c*(a+b);
returnd;
}
答案:
30
第四题:
#include
#include
#include
typedefstructtagSPOT
{
intx;
inty;
}SPOT;
intmain()
{
SPOTspot;
spot.x=123;
spot.y=456;
printf("%d%d\n",spot.x,spot.y);
_getch();
return0;
}
答案:
123456
第五题:
#include
#include
#include
classA
{
public:
A(){printf("1");}
~A(){printf("4");}
};
classB:
publicA
{
public:
B(){printf("2");}
~B(){printf("3");}
};
intmain()
{
Bb;
_getch();
return0;
}
答案:
1234
第六题:
#include
#include
intFun(int,int,int&);
intFun(int,int,int,int&);
intmain()
{
inta=1,b=2,c=3,d=4;
Fun(a,b,c,d);
Fun(a,b,c);
printf("%d%d%d%d\n",a,b,c,d);
_getch();
return0;
}
intFun(inta,intb,int&c)
{
c=a*b;
return0;
}
intFun(inta,intb,intc,int&d)
{
d=a+b+c;
return0;
}
答案:
1226
第七题:
#include
#include
intFun(inta,intb,intc=10);
intmain()
{
inta=1,b=2,c=3,d;
d=Fun(a,b,c);
printf("%d\n",d);
_getch();
return0;
}
intFun(inta,intb,intc)
{
intd=c*(a+b);
returnd;
}
答案:
9
第八题:
#include
#include
intFun(inta,intb,intc=10);
intmain()
{
inta=4,b=5,c=6,d;
d=Fun(a,b);
printf("%d\n",d);
_getch();
return0;
}
intFun(inta,intb,intc)
{
intd=c*(a+b);
returnd;
}
答案:
90
第九题:
#include
#include
#include
typedefuniontagSPOT
{
intx;
inty;
}SPOT;
intmain()
{
SPOTspot;
spot.x=123;
spot.y=456;
printf("%d%d\n",spot.x,spot.y);
_getch();
return0;
}
答案:
456456
第十题:
#include
#include
#include
classC
{
public:
C(){printf("A");}
~C(){printf("D");}
};
classD:
publicC
{
public:
D(){printf("B");}
~D(){printf("C");}
};
intmain()
{
Dd;
_getch();
return0;
}
答案:
ABCD
第十一题:
#include
#include
intFun(inta,intb,intc=10);
intmain()
{
inta=4,b=5,c=6,d;
d=Fun(a,b,c);
printf("%d\n",d);
_getch();
return0;
}
intFun(inta,intb,intc)
{
intd=c*(a+b);
returnd;
}
答案:
54
程序填空
1n≤1
程序一:
阶乘n!
=
n(n-1)!
n>1
#include
longintFactorial(longint);
intmain()
{
longintn,fact;
printf("n=");
scanf("%ld",&n);
fact=Factorial(n);
printf("Factorial(%ld)=%ld\n",n,fact);
return0;
}
longintFactorial(longintn)
{
if(n<=1)return1;
elsereturnn*Factorial(n-1);
}
程序二:
水仙花数是一个三位正整数,其各位数字的三次方之和等于该数。
例如:
153=1³+5³+3³。
#include
#include
intmain()
{
inti,j,k,a,b;
for(i=1;1<=9;i++)
for(j=0;j<=9;j++)
for(k=0;k<=9;k++)
{
a=100*i+10*j+k;
b=i*i*i+j*j*j+k*k*k;
if(a==b)
printf("d=%d\n",a);
}
_getch();
return0;
}
程序三:
数组类模板
template
classARRAY
{
private:
intmaxa;
T*array;
public:
ARRAY(){maxa=0;};
intCreate(int);
intClear();
T&operator[](int);
intMAXA(){returnmaxa;};
~ARRAY(){if(maxa!
=0)deletearray;};
};
template
intARRAY
:
Create(intpm)
{
if(pm<1)return1;
else
{
if(maxa!
=0)return2;
else
{
array=newT[pm+1];
if(array==0)return3;
else
{
maxa=pm;
for(inti=0;i<=pm;i++)array[i]=0;
return0;
}
}
}
}
template
intARRAY
:
Clear()
{
if(maxa==0)return1;
else
{
deletearray;
maxa=0;
return0;
}
}
template
T&ARRAY
:
operator[](inti)
{
if(i<1||i>maxa)returnarray[0];
elsereturnarray[i];
}
程序四:
若一头小母牛,从第四个年头开始每年生一头母牛。
按此规律,第n年时有多少头母牛?
#include
#include
intFibonacci(int);
intmain()
{
intn,sum;
printf("n=");
scanf("%d",&n);
sum=Fibonacci(n);
printf("sum=%d\n",sum);
_getch();
return0;
}
intFibonacci(intx)
{
if(x<=3)return1;
elsereturnFibonacci(x-1)+Fibonacci(x-3);
}
程序五:
百马百担:
有100匹马,驮100担货。
大马担3担,中马担2担,两匹小马担1担。
问:
大、中、小马各多少?
#include
#include
intmain()
{
intl,m,s,w;
intnl,nm,ns,n;
for(l=3;l<100;l+=3)
for(m=2;m<100-l;m+=2)
for(s=1;1<=100-l-m;s++)
{
w=l+m+s;
nl=l/3;
nm=m/2;
ns=2*s;
n=nl+nm+ns;
if(w==100&&n==100)
printf("%d,%d,%d\n",nl,nm,ns);
}
_getch();
return0;
}
程序六:
复数类定义
classCOMPLEX
{
private:
//信息属性定义
doublereal;
doubleimag;
private:
//操作属性定义
doubledist;
doubleangl;
public:
//C++基本事件定义
COMPLEX(){real=imag=dist=angl=0.0;}
COMPLEX(double,double);
public:
//基本事件定义
COMPLEXReal(){returnreal;};
COMPLEXImag(){returnimag;};
COMPLEXDist(){returndist;};
COMPLEXAngl(){returnangl;};
public:
//基本事件定义
COMPLEXoperator+(COMPLEX);
COMPLEXoperator-(COMPLEX);
COMPLEXoperator*(COMPLEX);
COMPLEXoperator/(COMPLEX);
};
inlineCOMPLEX:
:
COMPLEX(doubler,doublei)
{
real=r;
imag=i;
dist=sqrt(real*real+imag*imag);
angl=ant(imag/real);
}
COMPLEXCOMPLEX:
:
opreator+(COMPLEXx)
{
doubler,i;
r=real+x.real;
i=imag+x.imag;
returnCOMPLEX(r,i);
}
COMPLEXCOMPLEX:
:
opreator-(COMPLEXx)
{
doubler,i;
r=real-x.real;
i=imag-x.imag;
returnCOMPLEX(r,i);
}
COMPLEXCOMPLEX:
:
opreator*(COMPLEXx)
{
doubler,i;
r=real*x.real-imag*x.imag;
i=real*x.imag+x.real*imag;
returnCOMPLEX(r,i);
}
COMPLEXCOMPLEX:
:
opreator/(COMPLEXx)
{
doubler,i,m;
m=x.real*x.real+x.imag*x.imag;
r=(real*x.real+imag*x.imag)/m;
i=(x.real*imag-real*x.imag)/m;
returnCOMPLEX(r,i);
}
程序设计
设计一:
定义一个部门(Department)类,包括:
编码(code),名称(name)两个属性,并验证其正确性。
这里是头文件:
classDepartment
{
private:
charname[32];
charcode[10];
public:
intSetName(char*);
intSetCode(char*);
public:
intGetName(char*);
intGetCode(char*);
Department();
};
Department:
:
Department()
{
name[0]='\0';
code[0]='\0';
return;
}
intDepartment:
:
SetName(char*pName)
{
strcpy(name,pName);
intlength=strlen(name);
returnlength;
}
intDepartment:
:
SetCode(char*pCode)
{
strcpy(code,pCode);
intlength=strlen(code);
returnlength;
}
intDepartment:
:
GetName(char*pName)
{
strcpy(pName,name);
intlength=strlen(name);
returnlength;
}
intDepartment:
:
GetCode(char*pCode)
{
strcpy(pCode,code);
intlength=strlen(code);
returnlength;
}
这里是源文件:
#include
#include
#include
#include"123.hpp"
intmain()
{
Departmentdepartment;
chara[32]=”软件学院”;
charb[16]=”2700000”;
department.SetName(a);
department.SetCode(b);
charbuffer[128];
department.GetName(buffer);
printf("%s\n",buffer);
department.GetCode(buffer);
printf("%s\n",buffer);
_getch();
return0;
}
设计二:
定义一个专业(Specialty)类,包括:
编码(code),名称(name)两个属性,并验证其正确性。
这里是头文件:
classSpecialty
{
private:
charname[32];
charcode[10];
public:
intSetName(char*);
intSetCode(char*);
public:
intGetName(char*);
intGetCode(char*);
Specialty();
};
Specialty:
:
Specialty()
{
name[0]='\0';
code[0]='\0';
return;
}
intSpecialty:
:
SetName(char*pName)
{
strcpy(name,pName);
intlength=strlen(name);
returnlength;
}
intSpecialty:
:
SetCode(char*pCode)
{
strcpy(code,pCode);
intlength=strlen(code);
returnlength;
}
intSpecialty:
:
GetName(char*pName)
{
strcpy(pName,name);
intlength=strlen(name);
returnlength;
}
intSpecialty:
:
GetCode(char*pCode)
{
strcpy(pCode,code);
intlength=strlen(code);
returnlength;
}
这里是源文件:
#include
#include
#include
#include"123.hpp"
intmain()
{
Specialtyspecialty;
chara[32]=”软件工程”;
charb[16]=”2700000”;
specialty.SetName(a);
specialty.SetCode(b);
charbuffer[128];
specialty.GetName(buffer);
printf("%s\n",buffer);
specialty.GetCode(buffer);
printf("%s\n",buffer);
_getch();
return0;
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 期末 复习资料
![提示](https://static.bingdoc.com/images/bang_tan.gif)