二、簡(jiǎn)單應(yīng)用題
請(qǐng)編寫一個(gè)函數(shù)inlinelongsum(intn),用遞歸函數(shù)完成運(yùn)算:sum(n)=1*1+2*2+???+n*n,遞歸表達(dá)式為sum(n)=sum(n-1)+n2。
注意:部分源程序已存在文件kt10_2.cpp中。
請(qǐng)勿修改主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)sum的花括號(hào)中填寫若干語(yǔ)句。
文件kt10_2.cpp的內(nèi)容如下:
#include
inlinelongsum(intn)
{
}
voidmain()
{ intn;
cout<<"輸入n:";
cin>>n;
cout<<"結(jié)果為:"<
【參考答案】
inline long sum(int n)
{ if(n==1)
return 1;
else return n*n+sum(n-1); }
【試題解析】
本題考查對(duì)遞歸函數(shù)掌握的熟練程度。遞歸的終止條件為n=1時(shí),值為1。
三、綜合應(yīng)用題
使用VC6打開考生文件夾下的工程kt10_3,此工程包含一個(gè)源程序文件kt10_3.cpp,其中定義了用于表示雇員信息的CEmployee類與表示公司信息的Company類,但這兩個(gè)類的定義并不完整。請(qǐng)按要求完成下列操作。
(1)定義Cemployee類的私有數(shù)據(jù)成員name(大小為50的字符數(shù)組)和pay(double型數(shù)據(jù)),分別用于記錄雇員姓名和月薪。請(qǐng)?jiān)谧⑨尅?/**1**”之后添加適當(dāng)?shù)恼Z(yǔ)句。
(2)完成Company類默認(rèn)構(gòu)造函數(shù)的定義,該構(gòu)造函數(shù)將n值賦值給私有成員num,并完成指針emp所指的n個(gè)Cemployee對(duì)象空間的申請(qǐng),請(qǐng)?jiān)谧⑨尅?/**2**”之后添加適當(dāng)?shù)恼Z(yǔ)句。
(3)完成Company類成員函數(shù)voidCompany::add(intcode,charname[50],doublepay)的定義,該函數(shù)將某一雇員的編號(hào)code、姓名name及月薪pay輸入到公司信息中。請(qǐng)?jiān)谧⑨尅?/**3**”之后添加適當(dāng)?shù)恼Z(yǔ)句。
(4)完成Company類成員函數(shù)voidCompany::print()的定義,使其以"_ispaid_RMBforonemonth"的格式輸出公司內(nèi)所有員工的月薪信息。請(qǐng)?jiān)谧⑨尅?/**4**”之后添加適當(dāng)?shù)恼Z(yǔ)句。
注意:除在指定位置添加語(yǔ)句之外,請(qǐng)不要改動(dòng)程序中的其他內(nèi)容。
源程序清單如下:
#include
#include
classCEmployee
{ public:
voidputname(charn[50]){strcpy(name,n);}
voidgetname(charn[50]){strcpy(n,name);}
voidputpay(doubled){pay=d;}
doublegetpay(){returnpay;}
private:
//**1** };
classCompany
{ private:
CEmployee*emp;
intnum;
public:
Company(intn);
voidadd(intcode,charname[50],doublepay);
voidprint(); };
Company::Company(intn)
{ //**2** }
voidCompany::add(intcode,charname[50],doublepay)
{ //**3** }
voidCompany::print()
{ //**4**
for(inti=0;i
{ (emp+i)->getname(c);
money=(emp+i)->getpay();
cout<
"RMBforonemonth"<
voidmain()
{ Companycom(2);
com.add(0,"Jack",200);
com.add(1,"Lee",300);
com.print(); }
【參考答案】
(1)char name[50];
double pay;
(2)num=n;
emp=new CEmployee[num];
(3)(emp+code)->putname(name);
(emp+code)->putpay(pay);
(4)char c[50];
double money;
【試題解析】
本題考查類成員的定義、類成員函數(shù)的定義與調(diào)用、對(duì)象數(shù)組的使用。注意指針和動(dòng)態(tài)申請(qǐng)空間new的使用方法。使用指針調(diào)用成員應(yīng)該用"->"符號(hào),new的返回值是指針類型的。
相關(guān)推薦:
2014年計(jì)算機(jī)等級(jí)考試過(guò)關(guān)技巧
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |