C语言实现,采用选择排序:
#include
#include
#include
void Exchange(int *A,int *B) //交换两个数的值
{
int temp;
temp=*A;
*A=*B;
*B=temp;
}
void selectsort_dir(int *T,int left,int right)//选择排序,[left,right]为排序范围
{
int i;
int maxnum;
do
{
maxnum=left;
for(i=left+1;i<=right;i++)
{
if(fabs(T[i])}
if(i!=maxnum) Exchange(&T[left],&T[maxnum]);
}while(left++}
void main()
{
int n,i,*p;
do
{
printf("输入整数个数(1~10):");
scanf("%d",&n);
}while(n<=1||n>10); //1~10之间
p = (int *)malloc(sizeof(int)*n);
for(i=0;i{
printf("输入第%d个整数:",i+1);
scanf("%d",p+i);
}
for(i=0;iprintf("\n");
selectsort_dir(p,0,n-1);
for(i=0;i}
测试结果:
#include
void main()
{
int n,i,j,t,a[10];
scanf("%d",&n);
if(n>1&&n<=10)
{
for(i=0;i
for(i=0;i
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(i=0;i
}
}