上機(jī)考試試題答案與解析
一、程序改錯(cuò)題
(1)應(yīng)改為“usingnamespacestd;”。
(2)應(yīng)改為“outl.open("1.txt",ios::binary|ios::app);”。
(3)應(yīng)改為“out1.put(s[i]);”。
【解析】本題第1處的“usingstd;”是在程序中引入標(biāo)準(zhǔn)命名空間std,對(duì)于C++中引入標(biāo)準(zhǔn)命名空間的格式,缺少namespace,所以第1處的語句修改為“usingnamespacestd;”。第2處,調(diào)用成員函數(shù)open中,輸入、輸出方式是在ios類中定義的,所以“out1.open("1.txt",binary|app);”語句缺少類ios,即第2處的語句修改為“out1.open("1.txt",ios::binary|ios::app);”。第3個(gè)標(biāo)識(shí)應(yīng)該用流成員函數(shù)put輸出字符,所以第3處的語句修改為“out1.put(s[i]);”。
二、簡單應(yīng)用題
for(inti=1:i<=x;i++)
{
if(x%i==0)//如果x被i整除,那么i為X的約數(shù)
{
writeFile(i);//將約數(shù)i存入文件
}
}
【解析】本題中由1到x,循環(huán)判斷其中是否有X的約數(shù)。如果x被i整除,那么i為x的約數(shù)最后調(diào)用Write-File函數(shù),將約數(shù)i存入文件。
三、綜合應(yīng)用題
(1)應(yīng)添加“friendclassTC2;”。
(2)應(yīng)添加“TCl(floata,floatb)”。
(3)應(yīng)添加“TCl(floata)”。
(4)應(yīng)添加“result=sqrt((P.X-q.X)*(p.X-q.X)+(p.Y-q.Y)*(p.Y-q.Y));”。
【解析】本題中第1處要求“聲明TC2類為TC1類的友元類”。C++中聲明友元類的一般形式為“friend類名;”,所以這里補(bǔ)全“friendclassTC2;”。第2處要求“完成類的構(gòu)造函數(shù),分別對(duì)成員變量賦值”。程序中TC1類的構(gòu)造函數(shù)缺少定義,構(gòu)造函數(shù)首部的一般格式為構(gòu)造函數(shù)名(類型1形參1,類型2形參2,……),所以在第2處補(bǔ)金“TC1(floata,float
b)”。第3處要求“完成類的構(gòu)造函數(shù),旁別對(duì)成員變量賦值”。同理,第3個(gè)標(biāo)識(shí)下補(bǔ)全“TC1(floata)”。第4處要求“完成計(jì)算平面上兩點(diǎn)之間的距離函數(shù)JuL”。題目中已經(jīng)給出了計(jì)算方法,X坐標(biāo)之差的平方與Y坐標(biāo)之差的平方之和的開方。利用C++中的開方函數(shù)sqrt補(bǔ)全函數(shù)中的兩點(diǎn)之間的距離。即“result=sqrt((P.X-q.X)*(p.X-q.X)+(p.Y-a.Y)*(p.Y-q.Y));”。
![]() | ![]() .. 定價(jià):¥133 優(yōu)惠價(jià):¥133.0 更多書籍 |
![]() | ![]() .. 定價(jià):¥124 優(yōu)惠價(jià):¥124.0 更多書籍 |