1、首先打開c語言編輯器,寫上注釋內容。

目前創(chuàng)新互聯(lián)已為1000多家的企業(yè)提供了網(wǎng)站建設、域名、網(wǎng)站空間、網(wǎng)站托管維護、企業(yè)網(wǎng)站設計、通道網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
2、然后寫上函數(shù)的數(shù)據(jù)類型,默認是int類型。
3、然后寫上函數(shù)名稱,遵循變量名定義的規(guī)則。
4、然后寫上(),括號里面是激手用旅野于放置參數(shù)的,可以選擇不放任何參數(shù)。
5、然后在里面寫上主體內容,在主函數(shù)里面調用該函數(shù),直接寫上函數(shù)的名稱+()。
6、最后進行明鎮(zhèn)嫌編譯運行,就完成了。
通常操作數(shù)組的時候,你發(fā)送的實參就是數(shù)組的首地址;所以直接void類型就可以;但是如果一定要設返回值的話;直接把形參接收的首地址返回就可以了!
你的代碼中,有很大的問題;如果是的代碼中這樣設昌冊定要想不出問題,那么那個數(shù)組要在堆中分配;即malloc一塊地址;
其次,int paixu() 改成int *paixu();
再次;return arr;就可以
如果你的程序需要作為接口給別人的,那么你這個寫法顯然是不對的;因為別人不知道怎么解析你這個接口返回的地址;知道是數(shù)組也不知道數(shù)組的元素帆唯個數(shù)!
再說你這個冒泡排序;也出問題了態(tài)迅培!j不會遞增,也就是當執(zhí)行到里面的循環(huán)后就是個死循環(huán)!
思路:在數(shù)值進行排序時,下標也同時移動。這就要求二者要聯(lián)動。為此創(chuàng)建一個PAIR結構體,將此二者關聯(lián)在尺型一起。用庫里的快排函數(shù)qsort可以省略排序的麻煩,并指定qsort按PAIR中數(shù)值搭輪大小為標準排序結構體數(shù)陵枝猜組,這樣排序結果中的結構體數(shù)組下標和值還是保持開始時的對應關系。
#includeSTDIO.H
#includestring.h
#includestdlib.h
#define N 8
typedef struct
{
int cj;//數(shù)值
int px;//下標
}PAIR;
//qsort的輔助比較函數(shù)
int compare(const void *p, const void *q)
{
PAIR t1= *(PAIR* )p;
PAIR t2= *(PAIR* )q;
return(t1.cjt2.cj);
}
int main()
{
PAIR a[N]={};
int cj[N]={};
int px[N]={};
printf("請輸入%d個整數(shù):", N);
for (int i=0;iN;i++)
{
scanf("%d",(a[i].cj));
a[i].px=i+1;
//數(shù)組
cj[i] = a[i].cj;
px[i] = a[i].px;
}
qsort((void *)a,N, sizeof(PAIR), compare);
printf("\n排好序的整數(shù)為:");
for (i=0;iN;i++)
{
printf("%d ",a[i].cj);
cj[i]=a[i].cj;
}
printf("\n對應原來的下標:");
for (i=0;iN;i++)
{
printf("%d ",a[i].px);
px[i] = a[i].px;
}
putchar('\n');
return 0;
}
你可以再開辟另慶胡外一組
結構體
數(shù)組用來保存進行排序前的順序!你排完后輸出仔差完了,念差皮再賦值回去就行了
新聞名稱:c語言函數(shù)排序后怎么返回 c語言中排序
當前地址:http://www.chinadenli.net/article14/ddpegde.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計公司、微信小程序、網(wǎng)站導航、ChatGPT、品牌網(wǎng)站建設、網(wǎng)頁設計公司
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)