#include<stdio.h>
#include<conio.h>
int main(){
void sort(int x[],int n);
int i,*p,a[10];
p=a;
printf("输入10个整数:\n");
for(i=0;i<10;i++)
scanf("%d",p++);
p=a;
sort(p,10);
printf("由大到小排序为:\n");
for(p=a,i=0;i<10;i++){
printf("%d ",*p);
p++;
}
getch();
}
void sort(int x[],int n){
int i,j,k,t;
for(i=0;i<10;i++){
k=i;
for(j=i+1;j<n;j++)
if(x[j]>x[k])
k=j;
if(k!=i){
t=x[i]; x[i]=x[k]; x[k]=t;
}
}
#include<conio.h>
int main(){
void sort(int x[],int n);
int i,*p,a[10];
p=a;
printf("输入10个整数:\n");
for(i=0;i<10;i++)
scanf("%d",p++);
p=a;
sort(p,10);
printf("由大到小排序为:\n");
for(p=a,i=0;i<10;i++){
printf("%d ",*p);
p++;
}
getch();
}
void sort(int x[],int n){
int i,j,k,t;
for(i=0;i<10;i++){
k=i;
for(j=i+1;j<n;j++)
if(x[j]>x[k])
k=j;
if(k!=i){
t=x[i]; x[i]=x[k]; x[k]=t;
}
}
}
法二:
void sort(int *x,int n){
int i,j,k,t;
for(i=0;i<10;i++){
k=i;
for(j=i+1;j<n;j++)
if(*(x+j)>*(x+k))
k=j;
if(k!=i){
t=*(x+i); *(x+i)=*(x+k); *(x+k)=t;
}
}
}