用指针方法对10个整数按由大到小顺序排序

Posted hjn123hjn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用指针方法对10个整数按由大到小顺序排序相关的知识,希望对你有一定的参考价值。

1.

#include <stdio.h>
int main()
{
void sort(int x[],int n);
int i,*p,a[10];
p=a;
printf("Please enter 10 integer numbers: ");
for(i=0;i<10;i++)
scanf("%d",p++);
p=a;
sort(p,10);
for(p=a,i=0;i<10;i++)
printf("%d ",*p++);
printf(" ");
return 0;
}

void sort(int x[],int n)
{
int i,j,k,t;
for(i=0;i<n-1;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;
}
}
}

2.

 

#include <stdio.h>
int main()
{
void sort(int *x,int n);
int i,*p,a[10];
p=a;
printf("Please enter 10 integer numbers: ");
for(i=0;i<10;i++)
scanf("%d",p++);
p=a;
sort(p,10);
for(p=a,i=0;i<10;i++)
printf("%d ",*p++);
printf(" ");
return 0;
}

 

void sort(int *x,int n)
{
int i,j,k,t;
for(i=0;i<n-1;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;
}
}
}

 































































以上是关于用指针方法对10个整数按由大到小顺序排序的主要内容,如果未能解决你的问题,请参考以下文章