你的程序沒(méi)錯(cuò),只不過(guò)這不是選擇法,是冒泡發(fā),選擇發(fā)如下:

虹口ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
void sort(int *a,int n)
{
int i,j,t,temp;
for(i=0;in-1;i++)
{
t=i;/初始定義t為未排序數(shù)的第一個(gè)
for(j=i+1;jn;j++)
{
if(*(a+t)*(a+j))/挑選出更大的數(shù)的位置,把他賦給t
t=j;
}
temp=*(a+i); /t是最大的那個(gè)數(shù)的位置,把他和未排序的第一個(gè)交換位置
*(a+i)=*(a+t);
*(a+t)=temp;
}
}
main()
{
int i,a[10],*p=a;
printf("input zhe array a:\n");
for(i=0;i10;i++)
scanf("%d",p++);
printf("\n");
p=a;
sort(p,10);
p=a;
printf("zhe sort array is:\n");
for(i=0;i10;i++)
printf("%d,",a[i]);
getch();
}
#includestdio.h
void?Sort(int?*a,int?n)?{
int?*p,*q,*v,t;
for(p?=?a;p??a?+?n?-?1;++p)?{
v?=?p;
for(q?=?p?+?1;?q??a?+?n;?++q)
if(*v??*q)?v?=?q;
if(*p?!=?*v)?{
t?=?*p;
*p?=?*v;
*v?=?t;
}
}
}
void?Show(int?*a,int?n)?{
int?i;
for(i?=?0;?i??n;?++i)
printf("%d?",*(a?+?i));
printf("\n");
}
int?main()?{
int?a[]?=?{23,12,54,89,66,59,57,48,91,20,31};
int?n?=?sizeof(a)/sizeof(a[0]);
printf("排序前:\n");
Show(a,n);
printf("排序后:\n");
Sort(a,n);
Show(a,n);
return?0;
}
對(duì)指針數(shù)組分配個(gè)長(zhǎng)度
可以這樣
{
s[i]
=
(char
*)malloc(sizeof(char)
*
1024);
scanf("%s",s[i]);
}
最后記得釋放
for(i=0;iz;i++)
{
printf("%s:\t",s[i]);
free(s[i]);
}
你的程序沒(méi)錯(cuò),只不過(guò)這不是選擇法,是冒泡發(fā),選擇發(fā)如下:
void sort(int *a,int n)
{
int i,j,t,temp;
for(i=0;in-1;i++)
{
t=i;/初始定義t為未排序數(shù)的第一個(gè)
for(j=i+1;jn;j++)
{
if(*(a+t)*(a+j))/挑選出更大的數(shù)的位置,把他賦給t
t=j;
}
temp=*(a+i); /t是最大的那個(gè)數(shù)的位置,把他和未排序的第一個(gè)交換位置
*(a+i)=*(a+t);
*(a+t)=temp;
}
}
main()
{
int i,a[10],*p=a;
printf("input zhe array a:\n");
for(i=0;i10;i++)
scanf("%d",p++);
printf("\n");
p=a;
sort(p,10);
p=a;
printf("zhe sort array is:\n");
for(i=0;i10;i++)
printf("%d,",a[i]);
getch();
}
#include<stdio.h>
voidprint_result(float*,int);
voidSelect_Sort(float*,int);
intmain()
{
inti;
floatarray[10];
float*pointer;
printf("請(qǐng)輸入10個(gè)數(shù):\n");
for(i=0;i<10;i++)
{
scanf("%f",&array[i]);
}
pointer=array;
Select_Sort(pointer,10);
print_result(pointer,10);
return0;
}
voidprint_result(float*p,intn)
{//輸出結(jié)果
intk;
for(k=0;k<n;k++)
{
printf("%g\t",*(p+k));
}
}
voidSelect_Sort(float*pt,intn)
{//全用指針的選擇排序法
inti,j,k;
floattempnum;
for(i=0;i<n;i++){
k=i;
for(j=i+1;j<n;j++)
{
if(*(pt+j)>*(pt+i))
{
k=j(luò);
}
}
tempnum=*(pt+i);
*(pt+i)=*(pt+k);
*(pt+k)=tempnum;
}
}
擴(kuò)展資料:
其它方法:
voidSelectSort(intarr[],intn)
{
printf("\n選擇排序法過(guò)程:\n");
inti,j,k,l,t;
for(i=0;i<n;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if(arr[j]<arr[k])
{
k=j(luò);
}
}
if(k!=i)
{
t=arr[i];arr[i]=arr[k];arr[k]=t;
}
for(l=0;l<n;l++)
{
printf("%3c",arr[l]);
}
printf("\n");
}
}
#includestdio.h
#include"stdlib.h"http://?system("psuse");
void?sort(int?*a,int?b);
int?main()
{
int?i;
int?a[]={5,15,1,53,21,98,7,6,3,74};
sort(a,sizeof(a)/sizeof(int));//引用函數(shù)
for(i=0;isizeof(a)/sizeof(int);i++)
{
printf("%4d",a[i]);
if(i%2)
printf("\n");
}//這里加了一個(gè)括號(hào)
system("pause");//按任意鍵繼續(xù)....
return?0;
}
void?sort(int?*a,int?b)//冒泡法升序排列
{
int?j,k;
for(j=0;jb-1;j++)
{
for(k=0;kb-j-1;k++)
{
if(a[k]a[k+1])
{
a[k]=a[k]*a[k+1];//交換???不用引入第三變量
a[k+1]=a[k]/a[k+1];
a[k]=a[k]/a[k+1];
}//end?if
}//end?for
}//end?for
}
運(yùn)行結(jié)果
網(wǎng)站題目:c語(yǔ)言指針選擇排序函數(shù),c語(yǔ)言選擇排序函數(shù)調(diào)用
文章網(wǎng)址:http://chinadenli.net/article6/dsgjhog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站排名、動(dòng)態(tài)網(wǎng)站、標(biāo)簽優(yōu)化、網(wǎ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í)需注明來(lái)源: 創(chuàng)新互聯(lián)