譚浩強(qiáng)C++課后習(xí)題答案(一)_第1頁(yè)
譚浩強(qiáng)C++課后習(xí)題答案(一)_第2頁(yè)
譚浩強(qiáng)C++課后習(xí)題答案(一)_第3頁(yè)
譚浩強(qiáng)C++課后習(xí)題答案(一)_第4頁(yè)
譚浩強(qiáng)C++課后習(xí)題答案(一)_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

4

MI早

/譚浩強(qiáng)C++課后習(xí)題答案

I.請(qǐng)根據(jù)你的了解,敘述C++的特點(diǎn)。C++對(duì)C有哪些發(fā)展?

【解】略。

2.一個(gè)C++的程序是山哪幾部分構(gòu)成的?其中的每一部分起什么作用?

【解】略。

3.從拿到一個(gè)任務(wù)到得到最終結(jié)果,一般要經(jīng)過(guò)幾個(gè)步驟?

【解】略。

4.請(qǐng)說(shuō)明編輯、編譯、連接的作用。在編譯后得到的目標(biāo)文件為什么不能直接

運(yùn)行?

【解】編譯是以源程序文件為單位進(jìn)行的,而一個(gè)完整的程序可能包含若干個(gè)程序

文件,在分別對(duì)它們編譯之后,得到若干個(gè)目標(biāo)文件(后綴一般為.obj),然后要將它

們連接為一個(gè)整體。此外,還需要與編譯系統(tǒng)提供的標(biāo)準(zhǔn)庫(kù)相連接,才能生成一個(gè)可執(zhí)

行文件(后綴為.exe)。不能直接運(yùn)行后綴為.obj的目標(biāo)文件,只能運(yùn)行后綴為.exe的可

執(zhí)行文件。

5.分析下面程序運(yùn)行的結(jié)果。

#include<iostream>

usingnamespacestd;

intmain()

cout?"This"vv"is

cout?Ma"vv"C++

coutvv"program."?endl;

return0;

}

【解】輸出的結(jié)果為

ThisisaC++program.

C++面向?qū)ο蟪绦蛟O(shè)計(jì)題解與上機(jī)指導(dǎo)

4

6.分析下面程序運(yùn)行的結(jié)果。

#include<iostream>

usingnamespacestd;

intmain()

(

inta,b,c;

a=10;

b=23;

c=a+b;

cout?,ra+b=";

cout?c;

cout?endl;

return0;

}

【解】前兩個(gè)cout語(yǔ)句在輸出數(shù)據(jù)后不換行,第3個(gè)cout語(yǔ)句輸出一個(gè)換行,因此

輸出的結(jié)果為

a+b=33

7.分析下面程序運(yùn)行的結(jié)果。請(qǐng)先閱讀程序?qū)懗龀绦蜻\(yùn)行時(shí)應(yīng)輸出的結(jié)果,然后

上機(jī)運(yùn)行程序,驗(yàn)證自己分析的結(jié)果是否正確。以下各題同。

#include<iostream>

usingnamespacestd;

intmain()

(

inta,b,c;

intf(intx,inty,intz);

cin?a?b?c;

c=f(a,b,c);

cout?c?endl;

return0;

)

intf(intx,inty,intz)

(

intm;

if(x<y)ni=x;

elsem=y;

if(z<m)m=z;

return(m);

}

【解】程序的作用是:輸入3個(gè)整數(shù),然后輸出其中值最小的數(shù)。在主函數(shù)中輸入

3個(gè)整數(shù),然后調(diào)用f函數(shù),在f函數(shù)中實(shí)現(xiàn)找最小的整數(shù),用if語(yǔ)句比較兩個(gè)數(shù),將

小者存放在變量m中,經(jīng)過(guò)兩個(gè)if語(yǔ)句的比較,m中存放的是3個(gè)整數(shù)中最小的數(shù)。運(yùn)

行情況如下:

153/(輸入3個(gè)整數(shù))

1(輸出其中最小的數(shù))

8.在你所用的C++系統(tǒng)上,輸入以下程序,進(jìn)行編譯,觀察編譯情況,如果有錯(cuò)

誤,請(qǐng)修改程序,再進(jìn)行編譯,直到?jīng)]有錯(cuò)誤,然后進(jìn)行連接和運(yùn)行,分析運(yùn)行結(jié)果。

intmain();

(

inta,b;

c=a+b;

cout>>"a+b="?a+b;

)

【解】上機(jī)編譯出錯(cuò),編譯出錯(cuò)信息告知在第2行出錯(cuò),經(jīng)檢查,發(fā)現(xiàn)第1行的未

尾多了一個(gè)分號(hào),編譯系統(tǒng)無(wú)法理解第2行的花括號(hào),導(dǎo)致報(bào)告第2行出錯(cuò)。將第1行

的末尾的分號(hào)去掉,重新編譯,編譯出錯(cuò)信息告知在第5行和第6行出錯(cuò)。第5行出錯(cuò)

原因是cout未經(jīng)聲明,因?yàn)閏oul不是C++語(yǔ)言提供的系統(tǒng)的關(guān)鍵字,而是輸出流的對(duì)

象,必須使用頭文件iostream。第6行出錯(cuò)原因是main是int型函數(shù),應(yīng)返回一個(gè)整型

值。將程序改為

#include<iostream>

intmain()

(

inta,b;

c=a+b;

cout?r,a+b="?a+b;

return0;

}

重新編譯。編譯出錯(cuò)信息告知在第5行和第6行出錯(cuò)。第5行出錯(cuò)原因是變量c未定義,

第6行出錯(cuò)原因是cout未經(jīng)聲明,說(shuō)明#include<iostream>命令行未能起作用,原因是未

指明命名空間。將程序改為

#include<iostream>

usingnamespacestd;

intmain()

(

inta,b,c;

c=a+b;

cout?,ra+b=r,?a+b;

return0;

◎C++面向?qū)ο蟪绦蛟O(shè)計(jì)題解與上機(jī)指導(dǎo)

重新編譯。編譯出錯(cuò)信息告知在第7行出錯(cuò),經(jīng)檢查,是“>>”用得不當(dāng),“>>”是提

取運(yùn)算符,應(yīng)與cin聯(lián)合使用,用來(lái)從輸入流中提取數(shù)據(jù),輸出時(shí)應(yīng)該用插入運(yùn)算符

把兩處“>>”都改為“<<",再重新編譯,發(fā)現(xiàn)沒(méi)有error錯(cuò)誤,但有兩個(gè)警告(warning),

原因是定義了a和b,但未對(duì)它們賦值。應(yīng)增加賦值語(yǔ)句或輸入語(yǔ)句,使a和b獲得值,

將程序改為

#include<iostream>

usingnamespacestd;

intmain()

(

inta,b,c;

cin?a?b;

c=a+b;

cout?pa+b="?a+b;

return0:

}

重新編譯,沒(méi)有編譯錯(cuò)誤,能通過(guò)編譯和連接,可以正常運(yùn)行,在VisualC++6.0環(huán)境

下運(yùn)行時(shí)屏幕顯示如下:

59/

a+b=14Pressanykeytocontinue

顯然這樣的輸出不理想,"Pressanykeytocontinue"是VisualC++系統(tǒng)在輸出了運(yùn)

行結(jié)果后自動(dòng)顯示的一個(gè)信息,告訴用戶“如果想繼續(xù)工作,請(qǐng)按任何一個(gè)鍵”。當(dāng)用

戶按任何一個(gè)鍵后,顯示運(yùn)行結(jié)果的窗口消失,屏幕顯示回到VisualC++的主窗口,顯

示出源程序和編譯信息。

為了解決以上輸出不理想的情況,可以在最后一個(gè)輸出語(yǔ)句中增加輸出一個(gè)換行

符。最后的程序如下:

#include<iostream>

usingnamespacestd;

intmain()

(

inta,b,c;

cin?a?b;

c=a+b;

cout?“a+b=/f?a+b?endl;

return0;

J

運(yùn)行時(shí)屏幕顯示如下:

59/

a+b=14

Pressanykeytocontinue

這就完成了程序的調(diào)試。

這里對(duì)本題的調(diào)試過(guò)程作了比較詳細(xì)的分析,以便使讀者對(duì)如何調(diào)試程序有比較具

體而清晰的了解。需要說(shuō)明:

(1)編譯系統(tǒng)給出的編譯出錯(cuò)信息,只是提示性的,引導(dǎo)用戶去檢查錯(cuò)誤,用戶必

須根據(jù)程序的上下文和編譯出錯(cuò)信息,全面考慮,找出真正出錯(cuò)之處。例如編譯出錯(cuò)信

息通知第2行出錯(cuò),其實(shí)可能是第1行出錯(cuò)。

(2)有時(shí),有的錯(cuò)誤開(kāi)始時(shí)未被檢查出來(lái)并告知用戶(例如未定義變量c),由于

其他錯(cuò)誤未解決,掩蓋了這個(gè)錯(cuò)誤。當(dāng)解決了其他錯(cuò)誤后,這個(gè)錯(cuò)誤會(huì)被檢查出來(lái)。有

時(shí)在調(diào)試過(guò)程中會(huì)不斷檢查出新的錯(cuò)誤,這是不奇怪的。一一處理,問(wèn)題會(huì)迎刃而解。

(3)為了說(shuō)明調(diào)試過(guò)程,這里全部依靠計(jì)算機(jī)系統(tǒng)來(lái)檢查錯(cuò)誤,其實(shí)有些明顯的錯(cuò)

誤,完全可以由人工查出,這樣可以提高調(diào)試效率。由人工在紙面或屏幕上檢查錯(cuò)誤,

稱為靜態(tài)查錯(cuò),用計(jì)算機(jī)編譯系統(tǒng)檢查錯(cuò)誤,稱為動(dòng)態(tài)查錯(cuò)。建議盡量先用靜態(tài)查錯(cuò)的

方法排除錯(cuò)誤,只有人工檢查不出來(lái)的錯(cuò)誤才讓計(jì)算機(jī)檢查。

9.輸入以下程序,進(jìn)行編譯,觀察編譯情況,如果有錯(cuò)誤,請(qǐng)修改程序,再進(jìn)行

編譯,直到?jīng)]有錯(cuò)誤,然后進(jìn)行連接和運(yùn)行,分析運(yùn)行結(jié)果。

#include<iostream>

usingnamespacestd;

intmain()

(

inta,b;

c=add(a,b)

cout?//a+b=p?c?cndl;

return0;

1

intadd(intx,inty);

(

z=x+y;

retrun(z);

}

【解】發(fā)現(xiàn)7個(gè)錯(cuò)誤:

(1)對(duì)add函數(shù)未聲明就調(diào)用,應(yīng)在main函數(shù)中對(duì)add函數(shù)進(jìn)行聲明。

(2)定義add函數(shù)時(shí),函數(shù)首行末尾不應(yīng)有分號(hào)。

(3)變量c未經(jīng)定義。

(4)add函數(shù)中的變量z未經(jīng)定義。

(5)第6行末尾少了一個(gè)分號(hào)。

(6)add函數(shù)中的retain拼寫(xiě)錯(cuò)誤,應(yīng)為return。編譯系統(tǒng)把retrun作為未聲明的標(biāo)

識(shí)符而報(bào)錯(cuò),因?yàn)閞etrun(z)會(huì)被認(rèn)為是函數(shù)調(diào)用的形式。

C++面向?qū)ο蟪绦蛟O(shè)計(jì)題解與上機(jī)指導(dǎo)

8

(7)變量a和b未被賦值。

改正后的程序如下:

#include<iostream>

usingnamespacestd;

intmain()

{intadd(intx,inty);

inta,b,c;

cin?a?b;

c=add(a,b);

cout?°a+b二"?c?endl;

return0;

}

intadd(intx,inty)

{intz;

z=x+y;

return(z);

)

運(yùn)行情況如下:

58/

13

10.輸入以下程序,編譯并運(yùn)行,分析運(yùn)行結(jié)果。

#include<iostream>

usingnamespacestd;

intmain()

{voidsort(intxjnty,intz);

intx,y,z;

cin?x?y?z;

sort(x,y,z);

return0;

}

voidsort(intx,inty,intz)

(

inttemp;

if(x>y){temp=x;x=y;y=temp;}〃{}內(nèi)3個(gè)語(yǔ)句的作用是將x和y的值互換

if(z<x)cout?z?7?x?7?y?endl;

elseif(z<y)cout?x?//?z?r/?y?endl;

elsecout?x?V?y??z?endl;

請(qǐng)分析此程序的作用。sort函數(shù)中的if語(yǔ)句是一個(gè)嵌套的if語(yǔ)句。

運(yùn)行時(shí)先后輸入以下幾組數(shù)據(jù),觀察并分析運(yùn)行結(jié)果。

①3610/

②6310/

③1063/

④10,6,3/

【解】程序的作用是對(duì)輸入的3個(gè)整數(shù)按由小到大的順序進(jìn)行排序。sort函數(shù)中的

第1個(gè)if語(yǔ)句的作用是先將x和y排序,使x小于或等于y。第2個(gè)if語(yǔ)句是一個(gè)嵌套

的if語(yǔ)句,先比較z和x,如果z<x,顯然山小到大的順序應(yīng)當(dāng)是z,x,y,按此順序輸出;

如果z不小于x,而小于y,顯然山小到大的順序應(yīng)當(dāng)是x,z,y,按此順序輸出;如果z

既不小于x,又不小于y,顯然由小到大的順序應(yīng)當(dāng)是x,y,z,按此順序輸出。

按題目要求分別輸入以下幾組數(shù)據(jù),運(yùn)行結(jié)果如下:

①3610/

3.6,10

②6310/

3,6,10

③1063/

3.6,10

④10,6,3/

-858993460,-858993460,10

以上是在VisualC++6.0環(huán)境下運(yùn)行的情況,前3次運(yùn)行正常,表明當(dāng)輸入不同的

數(shù)據(jù)時(shí),程序能實(shí)現(xiàn)由小到大的排序功能。第4次運(yùn)行的結(jié)果顯然不正常,這是山于輸

入數(shù)據(jù)時(shí)出了問(wèn)題,本來(lái)要求在輸入數(shù)據(jù)時(shí),數(shù)據(jù)之間以空格或換行相隔,而現(xiàn)在卻以

逗號(hào)相隔,只有第一個(gè)整數(shù)能正常賦給變量x,第二和第三個(gè)數(shù)據(jù)均無(wú)法正常賦給變量y

和z,y和z的值來(lái)自輸入流中相應(yīng)字節(jié)的內(nèi)容。

11.求2個(gè)或3個(gè)正整數(shù)中的最大數(shù),用帶有默認(rèn)參數(shù)的函數(shù)實(shí)現(xiàn)。

【解】可以編寫(xiě)出以下程序:

#includc<iostrcam>

usingnamespacestd;

intmain()

{intmax(inta,intb,intc=0);

inta,b,c;

cin?a?b?c;

cout?”max(a,b,c)="?max(a,b,c)?endl;

cout?”max(a,b)="?max(a,b)?endl;

return0;

C++面向?qū)ο蟪绦蛟O(shè)計(jì)題解與上機(jī)指導(dǎo)

intmax(intajntb,intc)

{if(b>a)a=b;

if(c>a)a=c;

returna;

)

運(yùn)行情況如下:

13576/

max(a,b,c)=76(從3個(gè)數(shù)中找最大者)

max(a,b)=13(從前2個(gè)數(shù)中找最大者)

如果想從3個(gè)數(shù)中找大者,可以在調(diào)用時(shí)寫(xiě)成“max(a,b,c)”形式,如果只想從

2個(gè)數(shù)中找大者,則在調(diào)用時(shí)寫(xiě)成“max(a,b)”形式,此時(shí)c自動(dòng)取默認(rèn)值0,由于

0比任何正整數(shù)都小,因此從14,5,0中選最大者和從14,5中選大者的結(jié)果是一

樣的。

12.輸入兩個(gè)整數(shù),將它們按由大到小的順序輸出。要求使用變量的引用。

【解】可以編寫(xiě)出以下程序:

#includc<iostream>

usingnamespacestd;

intmain()

{voidchange(int&,int&);

inta,b;

cin?a?b;

if(a<b)change(a,b);〃如果a<b,使a和b的值互換

cout?"max二,f?a?"min=,f?b?endl;

return0;

)

voidchange(int&rl,int&r2)〃函數(shù)的作用是使rl與r2互換

{inttemp;

temp=rl;

rl=r2;

r2=temp;

}

運(yùn)行情況如下:

1267/

max=67min=12

13.對(duì)3個(gè)變量按由小到大順序排序,要求使用變量的引用。

【解】可以編寫(xiě)出以下程序:

#include<iostrcam>

usingnamespacestd;

intmain()

{voidsort(int&,int&,int&);

inta,b,c,al,bl,cl;

cout?,fPleaseenter3integers:/f;

cin?a?b?c;

al=a;bl=b;cl=c;

sort(al,bl,cl);

cout?a?M"vvbvv""v<cv<"insortedorderis

cout?al?0,,?bl?MM?cl?endl;

return0;

}

voidsort(int&&j,int&k)

{voidchange(int&,int&);

if(i>j)change(ij);

if(i>k)change(i,k);

if(j>k)change(j,k);

)

voidchange(int&x,int&y)

{inttemp;

tcmp=x;

x=y;

y=temp;

)

運(yùn)行情況如下:

Pleaseenter3integers:2367-55/

2367-55insortedorderis-552367

這個(gè)程序很容易理解,不易出錯(cuò)。由于在調(diào)用sort函數(shù)時(shí)虛實(shí)結(jié)合使形參i,j,k成為

實(shí)參al,bl,cl的引用(別名),因此通過(guò)調(diào)用函數(shù)sort(al,bl,cl)既實(shí)現(xiàn)了對(duì)i,j,k排序,

也就同時(shí)實(shí)現(xiàn)了對(duì)al,bl,cl排序。同樣,執(zhí)行change(i,j)函數(shù),可以實(shí)現(xiàn)對(duì)實(shí)參i和j

的互換。

14.編?程序,將兩個(gè)字符串連接起來(lái),結(jié)果取代第一個(gè)字符串。要求用string方法。

【解】可以編寫(xiě)出以下程序:

#include<iostream>

#include<string>〃程序中若使用字符串變量,必須包含頭文件string

usingnamespacestd;

intmain()

{stringsl="week",s2="end

cout?sl=p?si?end!;

cout?"s2="<vs2?endl;

C++面向?qū)ο蟪绦蛟O(shè)計(jì)題解與上機(jī)指導(dǎo)

sl=sl+s2;

cout?pThenewstringis:f/?sl?endl;

return0;

運(yùn)行情況如下:

sl=week

s2=end

Thenewstringis:weekend

15.輸入一個(gè)字符串,把其中的字符按逆序輸出。如輸入LIGHT,輸出THGIL。

要求用string方法。

【解】可以編寫(xiě)出以下程序:

#include<iostream>

#include<string>

usingnamespacestd;

intmain()

{stringstr;〃定義字符串變量str

inti,n;

chartemp;〃定義字符變量temp

cout?Mpleaseinputastring:

cin?str;〃輸入一個(gè)字符串賦給字符串變量str

n=str.size();〃測(cè)量str的長(zhǎng)度n

for(i=0;i<n/2;i++)〃使str中的字符對(duì)稱互換

{temp=str|i];str[i]=str|n_i_1];str|n_i_1]=temp;}

cout?str?endl;

return0;

)

運(yùn)行情況如下:

pleaseinputastring:

LIGHT/

THGIL

注意:輸入的字符串中不能含有空格。

16.有5個(gè)字符串,要求將它們按由小到大的順序排列,用string方法。

【解】可以編寫(xiě)出以下程序:

#include<iostream>

#includc<string>

usingnamespacestd;

intmain()

{inti;

stringstr[5]={°BASIC"」。,"FORTRAN","C++",'PASCAL"};

voidsort(string[]);

sort(str);〃對(duì)字符串排序

cout?r/thesortedstrings:"wend1;

for(i=0;i<5;i++)

cout?str[i]?H〃按已排好的順序輸出字符串

cout?endl;

return0;

)

voidsort(strings[])

{inti,j;

stringt;

for(j=0;j<5;j++)

fbr(i=O;i<5-j;i++)

if(s[i]>s[i+l])

{t=s[i];s[i]=s[i+l];s[i+l]=t;}

)

運(yùn)行結(jié)果如下:

thesortedstrings:

BASICCC++FORTRANPASCAL

17.編一個(gè)程序,用同一個(gè)函數(shù)名對(duì)n個(gè)數(shù)據(jù)進(jìn)行從小到大排序,數(shù)據(jù)類型可以是

整型、單精度型、雙精度型。用重載函數(shù)實(shí)現(xiàn)。

【解】可以編寫(xiě)出以下兩個(gè)程序:

(1)建立3個(gè)函數(shù),分別用于處理整型、單精度型、雙精度型數(shù)據(jù)的排序,在3個(gè)

函數(shù)中都采用選擇法排序方法。

#include<iostream>

#include<string>

usingnamespacestd;

intmain()

(

longa[5]={10100,-123567,1198783,-165654,3456);

intb[5]={1,9,0,23,-45);

floatc[5]={2.4,7.6,5.5,6.6,~2.3};

voidsort(long[]);

voidsort(inl[]);

voidsort(float[]);

sort(a);

sort(b);

sort(c);

return0;

C++面向?qū)ο蟪绦蛟O(shè)計(jì)題解與上機(jī)指導(dǎo)

14

voidsort(longa[])

{intij;

longt;

for(j=0;j<5;j++)

for(i=0;i<5-j;i++)

if(a[i]>a[i+l])

{t=a[i];a[i]=a[i+l];a[i+l]=t;}

cout?,fthesortednumbers:0?endl;

for(i=0;i<5;i++)

cout?a[i]?"

cout?endl?endl;

}

voidsort(inta[])

{intij,t;

for(j=O;j<5;j++)

for(i=0;i<5-j;i++)

if(a[i]>a[i+l])

{t=a[i];a[i]=a[i+l];a[i+l]=t;}

cout?,fthesortednumbers:0?endl;

for(i=0;i<5;i++)

cout?a[i]?"

cout?cndl?endl;

)

voidsort(floata[])

{intij;

floatt;

for(j=O;j<5;j-H-)

for(i=0;i<5-j;i++)

if(a[i]>a[i+l])

{t=a[i];a[i]=a[i+l];a[i+l]=t;}

cout?,fthesortednumbers:0?endl;

for(i=0;i<5;i++)

cout?a[i]?"

cout?endl?endl;

)

運(yùn)行結(jié)果如下:

thesortednumbers:

-123567-1656541010034561198783(長(zhǎng)整型數(shù)據(jù)排序)

thesortednumbers:(整型數(shù)據(jù)排序)

-4501923

thesortednumbers:

-6.67.6(單精度型數(shù)據(jù)排序)

(2)在第1種方法中,3個(gè)函數(shù)的函數(shù)體基本上是相同的,都是采用選擇法排序,

在下面的程序中,3個(gè)函數(shù)的函數(shù)體不全相同,前兩個(gè)函數(shù)采用選擇法排序,最后一個(gè)

函數(shù)采用起泡法排序。

#include<iostream>

#include<string>

usingnamespacestd;

intmain()

(longa[5]={10100,-123567,1198783,-165654,3456);

intb[5]={1,9,0,23-45};

floatc[5]={2.4,7.6,5.5,6.6,~2.3);

voidsort(int[]);

voidsort(float[]);

voidsort(long[]);

sort(a);〃對(duì)長(zhǎng)整型數(shù)據(jù)排序

sort(b);〃對(duì)整型數(shù)據(jù)排序

sort(c);〃對(duì)單精度型數(shù)據(jù)排序

return0;

)

voidsort(longa[])〃對(duì)長(zhǎng)整型數(shù)據(jù)用選擇法排序的函數(shù)

{intij,min;

longt;

for(i=0;i<5;i++)

{min=i;

for(j=i+l;j<5;j++)

if(a[min]>a[j])min=j;

{t=a[i];a[i]=a[min];a[min]=t;}

cout?r,thesortednumbers:,r?endl;

for(i=0;i<5;i++)

cout?a[i]?"

cout?endl?endl;

)

voidsort(inta[])〃對(duì)整型數(shù)據(jù)用選擇法排序的函數(shù)

{intij,t;

for(j=0;j<5;j++)

C++面向?qū)ο蟪绦蛟O(shè)計(jì)題解與上機(jī)指導(dǎo)

16

for(i=0;i<5-j;i++)

if(a[i]>a[i+l])

{t=a[i];a[i]=a[i+1];a[i+1]=t;)

cout?,fthesortednumbers:"vvendl;

for(i=0;i<5;i++)

cout?a[i]?"

cout?endl?endl;

)

voidsort(floata|])〃對(duì)單精度型數(shù)據(jù)用起泡法排序的函數(shù)

{intij;

floatt;

for(j=0;j<5;j++)

for(i=0;i<5-j;i++)

if(a[i]>a[i+l])

{t=a[i];a[i]=a[i+l];a[i+l]=t;}

cout?,fthesortednumbers:/r?endl;

for(i=0;i<5;i++)

cout?a[

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論