1、首先打開編輯軟件,新建一個(gè)c程序空文件,引入標(biāo)準(zhǔn)庫(kù)和主函數(shù),定義一個(gè)QuickSort函數(shù)用來排序,下面首先編寫排序函數(shù)的:

創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括佛坪網(wǎng)站建設(shè)、佛坪網(wǎng)站制作、佛坪網(wǎng)頁制作以及佛坪網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,佛坪網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到佛坪省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
2、此處用到快速排序思想,通過一趟排序?qū)⒁判虻臄?shù)據(jù)分割成獨(dú)立的兩部分,即這里用i和j兩個(gè)變量分割數(shù)據(jù),然后一部分的所有數(shù)據(jù)都比另外一部分的所有數(shù)據(jù)都要小,接著對(duì)這兩部分?jǐn)?shù)據(jù)分別進(jìn)行比較排序,整個(gè)排序過程可以遞歸進(jìn)行,以此達(dá)到整個(gè)數(shù)據(jù)變成有序序列:
3、接著編寫主函數(shù),主函數(shù)中定義一個(gè)數(shù)組,然后用scanf接受數(shù)組,用戶輸入10個(gè)數(shù)以后,會(huì)將數(shù)存在數(shù)組array中,然后調(diào)用上面處理排序的函數(shù),函數(shù)的輸入就是剛才輸入的數(shù),最后在把排序的結(jié)果輸出即可:
4、最后編譯運(yùn)行,輸入10個(gè)數(shù),最后控制臺(tái)輸出了排序的結(jié)果,證明程序的邏輯是沒有問題的。以上就是C語言輸入10個(gè)數(shù)排序的演示:
#include?stdio.h
void?func(int?*a)
{
int?i,j,temp;
for(j=0;j=7;j++)?
{?
for?(i=0;i7-j;i++)?
if?(a[i]a[i+1])?
{?
temp=a[i];?
a[i]=a[i+1];?
a[i+1]=temp;
}?
}?
}
int?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]的排序。
#includestdio.h
void?descend(int?number[10]){
int?temp,i,j;
for(i=0;i10;i++){
for(j=i;j10;j++){
if(number[i]number[j])?continue;
else{
temp=number[i];
number[i]=number[j];
number[j]=temp;
}
}
}
for(i=0;i10;i++){
printf("%d?",number[i]);
}
}
void?ascend(int?number[]){
int?temp,i,j;
for(i=0;i10;i++){
for(j=i;j10;j++){
if(number[i]number[j])?continue;
else{
temp=number[i];
number[i]=number[j];
number[j]=temp;
}
}
}
for(i=0;i10;i++){
printf("%d?",number[i]);
}
}
int?main()
{
int?number[10];
int?i;
for(i=0;i10;i++){
scanf("%d",number[i]);
}
printf("降序:\n");
descend(number);
printf("\n升序:\n");
ascend(number);
return?0;
}
希望對(duì)你有幫助
#includestdio.h
void?sort(float?*a,?int?n)
{
int?i,j,tmp;
for(i=0;?in-1;?i++)
for(j=0;?jn-i-1;?j++)
if(a[j]a[j+1])
{
tmp?=?a[j];
a[j]?=?a[j+1];
a[j+1]?=?tmp;
}
}
void?main()
{
float?a[5];
int?i;
printf("請(qǐng)輸入五個(gè)數(shù)(逗號(hào)隔開):");
scanf("%f,%f,%f,%f,%f",a[0],a[1],a[2],a[3],a[4]);
sort(a,5);
printf("排序后為:");
for(i=0;?i5;?i++)
printf("%.2f?",a[i]);
printf("\n");
}
或者三個(gè)數(shù)的。
void sort(int *a, int *b, int *c)
{
int tmp;
if(*a*b){
tmp = *b;
*b = *a;
*a = tmp;
}
if(*a*c){
tmp = *c;
*c = *a;
*a = tmp;
}
if(*b*c){
tmp = *c;
*c = *b;
*b = tmp;
}
return;
}
擴(kuò)展資料:
C語言中沒有預(yù)置的sort函數(shù)。如果在C語言中,遇到有調(diào)用sort函數(shù),就是自定義的一個(gè)函數(shù),功能一般用于排序。
一、可以編寫自己的sort函數(shù)。
如下函數(shù)為將整型數(shù)組從小到大排序。void sort(int *a, int l)//a為數(shù)組地址,l為數(shù)組長(zhǎng)度。
{ ?
int i, j; ?
int v; ? ?//排序主體
for(i = 0; i l - 1; i ++) ? ? ?
for(j = i+1; j l; j ++)
?
{ ? ? ? ? ?
if(a[i] a[j])//如前面的比后面的大,則交換。
? ? ?
{
? ? ? ? ?
v = a[i];
? ? ? ? ?
a[i] = a[j];
? ? ? ? ?
a[j] = v;
? ? ?
}
?
}
}
對(duì)于這樣的自定義sort函數(shù),可以按照定義的規(guī)范來調(diào)用。
二、C語言有自有的qsort函數(shù)。
功 能: 使用快速排序例程進(jìn)行排序。頭文件:stdlib.h
原型:
void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));
參數(shù):
1、待排序數(shù)組首地址。
2、數(shù)組中待排序元素?cái)?shù)量。
3、各元素的占用空間大小4 指向函數(shù)的指針,用于確定排序的順序,這個(gè)函數(shù)必須要自己寫比較函數(shù),即使要排序的元素是int,float一類的C語言基礎(chǔ)類型。
新聞名稱:c語言函數(shù)從小到大 C語言比大小函數(shù)
網(wǎng)站網(wǎng)址:http://chinadenli.net/article46/hjigeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、網(wǎng)站策劃、品牌網(wǎng)站設(shè)計(jì)、企業(yè)網(wǎng)站制作、定制網(wǎng)站、全網(wǎng)營(yíng)銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)