第 1 頁:上機(jī)試題 |
第 3 頁:參考答案 |
一、程序改錯題
(1)應(yīng)改為“intmax(int&a,int&b)”。
(2)應(yīng)改為“max(m,n);”。
【解析】
由題分析可知,max函數(shù)采用傳送引用的方式來傳遞參數(shù),因此第1處的語句應(yīng)該為“intmax(int&a,int&b)”。調(diào)用max時,傳遞引用時直接使用變量名即可,第2處的語句應(yīng)改為“max(m,n)”。
二、簡單應(yīng)用題
inti,j,k,t;
for(i=0;i(n-1;i++)
{
for(k=i,j=i+1;j if(A[k] 交換
k=j;
if(k!=i)//交換
{
t=AEi3;
A[i]=A[k];
A[k]=t;
}
【解析】以數(shù)組“A[]={3,8,7,6,5,0,1,2,9,4},,為例來說明具體的排序過程,第一次選擇:第一步,從A[0]-A[9]中找最大值max及下標(biāo)k,max=9,k=8;第二步,交換a[0]與最大值a[8]的值;第一次結(jié)束后a[0]已存放了最大值,下一次比較就不必再經(jīng)過它了,而從a[1]開始,如此循環(huán)。從例中可以看出10個元素要進(jìn)行9次比較,n個元素要進(jìn)行n-1次比較。設(shè)置兩層循環(huán),外層循環(huán)變量i從0到n-1,內(nèi)層循環(huán)變量從i開始到n-1,在內(nèi)層循環(huán)中找最大值,如果最大值的下標(biāo)k和i不同,則交換,實現(xiàn)選擇法排序。在內(nèi)層循環(huán)體內(nèi),如果最大值的下標(biāo)k和i不同,則用一個臨時變量記錄第i個元素,然后將第k個元素賦值給第i個元素,臨時變量值賦給第k個元素,如此完成兩個元素的交換。
三、綜合應(yīng)用題
(1)應(yīng)添加“#defineTRUE1”。
(2)應(yīng)添加“classA1;”。
(3)應(yīng)添加“friendboolfunc(A2&objl,Al&obj2);”。
(4)將“retllin”補充完整為“returnobjl.m_A2==TRUE&&obj2.m_A1==TRUE;”。
【解析】#define命令一般用一個指定的標(biāo)識符(即宏
名)來代表一個字符串,其定義形式一般為“#define宏名(參數(shù)表)字符串”,因此第1處應(yīng)添加“#defineTRUEl”。類聲明格式為“class<類名>;”,故第2處應(yīng)添加“class
A1;”。友元不是本類的成員函數(shù),在它的函數(shù)體內(nèi)可以通過對象名來訪問類的私有成員和保護(hù)成員。友元函數(shù)是在類聲明中由關(guān)鍵字friend修飾的非成員函數(shù),第3處應(yīng)添加“friendboolfune(A2&objl,Al&obj2);”。函數(shù)func返回變量m_A2和m_A1的邏輯與運算結(jié)果,因此第4處的語句應(yīng)改為“returnobj1.m_A2==TRUE&&obj2.m_A1==TRUE;”。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
2018年全國計算機(jī)等級考試復(fù)習(xí)知識點匯總(各科目)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |