第 1 頁:上機試題 |
第 2 頁:參考解析 |
一、程序改錯題
(1)應改為“usingnamespacestd;”。
(2)應改為“outl.open("1.txt",ios::binary|ios::app);”。
(3)應改為“out1.put(s[i]);”。
【解析】本題第1處的“usingstd;”是在程序中引入標準命名空間std,對于C++中引入標準命名空間的格式,缺少namespace,所以第1處的語句修改為“usingnamespacestd;”。第2處,調用成員函數open中,輸入、輸出方式是在ios類中定義的,所以“out1.open("1.txt",binary|app);”語句缺少類ios,即第2處的語句修改為“out1.open("1.txt",ios::binary|ios::app);”。第3個標識應該用流成員函數put輸出字符,所以第3處的語句修改為“out1.put(s[i]);”。
二、簡單應用題
for(inti=1:i<=x;i++)
{
if(x%i==0)//如果x被i整除,那么i為X的約數
{
writeFile(i);//將約數i存入文件
}
}
【解析】本題中由1到x,循環判斷其中是否有X的約數。如果x被i整除,那么i為x的約數最后調用Write-File函數,將約數i存入文件。
三、綜合應用題
(1)應添加“friendclassTC2;”。
(2)應添加“TCl(floata,floatb)”。
(3)應添加“TCl(floata)”。
(4)應添加“result=sqrt((P.X-q.X)*(p.X-q.X)+(p.Y-q.Y)*(p.Y-q.Y));”。
【解析】本題中第1處要求“聲明TC2類為TC1類的友元類”。C++中聲明友元類的一般形式為“friend類名;”,所以這里補全“friendclassTC2;”。第2處要求“完成類的構造函數,分別對成員變量賦值”。程序中TC1類的構造函數缺少定義,構造函數首部的一般格式為構造函數名(類型1形參1,類型2形參2,……),所以在第2處補金“TC1(floata,float
b)”。第3處要求“完成類的構造函數,旁別對成員變量賦值”。同理,第3個標識下補全“TC1(floata)”。第4處要求“完成計算平面上兩點之間的距離函數JuL”。題目中已經給出了計算方法,X坐標之差的平方與Y坐標之差的平方之和的開方。利用C++中的開方函數sqrt補全函數中的兩點之間的距離。即“result=sqrt((P.X-q.X)*(p.X-q.X)+(p.Y-a.Y)*(p.Y-q.Y));”。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關推薦: