用C語(yǔ)言實(shí)現(xiàn)如下功能:從鍵盤輸入5個(gè)實(shí)數(shù),可以使用冒泡排序法把他們降序輸出。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了會(huì)昌免費(fèi)建站歡迎大家使用!
但是你寫的char *strs[5];表示的是一個(gè)維度為5的指針數(shù)組。你可以把strs直接改成字符串?dāng)?shù)組,char strs[5][N],但你后面的函數(shù)參數(shù)類型也要跟著改。如果你不想改動(dòng)其他函數(shù),還繼續(xù)使用指針數(shù)組,也是可以的。
前兩個(gè)相等故不做if。第三四個(gè)a[1]值大,此處就本應(yīng)該結(jié)束循環(huán)不再比較了,但是由于去掉了else語(yǔ)句,故依舊執(zhí)行循環(huán)。
if(a[j]a[j+1]) //從小到達(dá),前面的比后面的大,則互換。
首先要明白,sizeof不是函數(shù),而是操作符;strlen是函數(shù)。操作符sizeof用來(lái)判斷對(duì)象、類型所占用的內(nèi)存空間的字節(jié)數(shù),strlen是計(jì)算一個(gè)字符串以字節(jié)計(jì)的長(zhǎng)度。
sort()函數(shù)語(yǔ)法:sort(begin,end),表示一個(gè)范圍。
排序(sort)語(yǔ)法:void sort();void sort( Comp compfunction );sort()函數(shù)為鏈表排序,默認(rèn)是升序。如果指定compfunction的話,就采用指定函數(shù)來(lái)判定兩個(gè)元素的大小。
sort不屬于C語(yǔ)言的標(biāo)準(zhǔn)函數(shù),所以也沒(méi)有相應(yīng)的頭文件,但是可以自定義。sort 函數(shù)為將整型數(shù)組從小到大排序。voidsort(int*a,intl)//a為數(shù)組地址,l為數(shù)組長(zhǎng)度。
函數(shù)調(diào)用語(yǔ)句: p(b); 或 p(c);數(shù)組 int a[5]; 語(yǔ)句中下標(biāo)只能用到 a[4];給你改了函數(shù),數(shù)據(jù)由參數(shù)帶入,排隊(duì)結(jié)果由參數(shù)帶回。
main(){ int a[8]={8,7,6,5,4,3,2,1}; func(a); for(int i=0;i8;i++) { printf(%d ,a[i]); } return 0;}func就是功能函數(shù)實(shí)現(xiàn)數(shù)組a[8]的排序。
tmp]; a[tmp]=a[i]; a[i]=b; } } for(i=0;i10;i++) printf(%3d,a[i]); printf(\n); return 0;}隨機(jī)產(chǎn)生數(shù)組中的元素, 更合理一些。 百科中有各種版本。
我感覺(jué)應(yīng)該把函數(shù)原型改成 int *sort(int a[],int n) 會(huì)更好些呢?我的思路是:在函數(shù)中在定義一個(gè)個(gè)數(shù)為n的數(shù)組。將所要排序的數(shù)組拷貝到這個(gè)數(shù)組中。排序。
//希望對(duì)樓主有小小的幫助。。//排序的算法是二分法,N的對(duì)數(shù)時(shí)間復(fù)雜度。。//如果有疑問(wèn),我們可以再探討。。