#includestdio.h
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了洪湖免費(fèi)建站歡迎大家使用!
int?main()
{?void?sort(int?array[],int?n);
int?a[100],n,i;
scanf("%d",n);
for(i=0;?in;?i++)
scanf("%d",a[i]);
sort(a,n);
printf("the?sorted?array:\n");
for(i=0;?in;?i++)
printf("%5d",a[i]);
printf("\n");
return?0;
}
void?sort(int?a[],int?n)
{?int?i,j,k,t;
for(i=0;?in-1;?i++)
{?k=i;
for(j=i+1;?jn;?j++)
if(a[j]a[k])
k=j;
t=a[k];
a[k]=a[i];
a[i]=t;
}
}
用指向指針的指針的方法對n個整數(shù)排序并輸出的具體編程步驟如下:
1、編寫頭函數(shù):#include stdio.h。
2、編寫條件函數(shù):
void sort(int **p,int n)
{
int i,j,temp;
for(i=0;in-1;i++)
for(j=0;jn-1-i;j++)
{
if(*p[j]*p[j+1])//或者是*(*(p+j))*(*(p+j+1))
{
temp=*p[j];
*p[j]=*p[j+1];
*p[j+1]=temp;
}
}
}
3、最后編寫主函數(shù):
int main()
{
void sort(int **,int );
int i,n,data[20],**p,*pstr[20];
scanf("%d",n);
for(i=0;in;i++)
pstr[i]=data[i];
for(i=0;in;i++)
scanf("%d",pstr[i]);
p=pstr;
sort(p,n);
for(i=0;in;i++)
printf("%d ",*pstr[i]);
return 0;
}
排序有以下幾種:
冒泡法。
選擇法。
快速法。
插入法。
shell法。
以下是冒泡法和選擇法的例子:
#include"stdio.h"
#define?N?10
void?sort(int?a[],int?method)
{
int?i,k,t,j;
switch(method)
{
case?1:
for(i=0;iN;i++)
{
for(j=0;jN;j++)
{
?if(a[j]a[i])?
?{
t=a[i];
a[i]=a[j];
a[j]=t;
?}
}
}
break;
case?2:
for(i=0;iN;i++)
{
k=i;
for(j=i+1;jN+1;j++)
if(a[j]a[k])??
k=j;
t=a[k];
a[k]=a[i];
a[i]=t;
}
break;
default:?break;
}
}
void?main()
{
int?a[N]={16,5,8,12,1,17,3,6,10,2};
int?i,method;
printf("排序前:?\n");
for(i=0;iN;i++)
printf("%d\t",a[i]);
printf("請選擇:?1表示冒泡法,2表示選擇法:?\n");
scanf("%d",method);
sort(a,method);
printf("排序后:?\n");
for(i=0;iN;i++)
printf("%d\t",a[i]);?
}
排序沒有問題,但是你在打印的時候出錯了
for(i=0;im;i++)
printf("%d",a[i]);????#47;#47;這里打印的是數(shù)組元素a[i]的地址,應(yīng)改為printf("%d"?,?a[i]);
printf("#92;n");
滿意請采納!?。?/p>
網(wǎng)站名稱:c語言函數(shù)對整數(shù)排序 c語言用函數(shù)對數(shù)組排序
當(dāng)前路徑:http://www.rwnh.cn/article40/doshdho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、移動網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、微信小程序、做網(wǎng)站、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)