今晚10点前在线等!选择排序怎样确定是从大到小排还是从小到大

来源:百度知道 编辑:UC知道 时间:2024/05/31 22:31:12
TC中选择排序怎样确定是从大到小排还是从小到大,请符程序说明
10点钟到了,没有得到我想要的答案,没时间等下去了,只好关闭了,谢谢
请以这个程序说明,程序在清华大学出版社出的C程序设计(第三版)P181例8.13用选择法对数组中10个整数按由小到大排序。
#include<stdio.h>
void main()
{
void sort(int array[],int n);
int a[10],i;
printf("enter the array\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
sort(a,10);
printf("the sorted array:\n");
for(i=0;i<10;i++)
printf("%5d",a[i]);
printf("\n");
}
void sort(int array[],int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(array[j]<array[k]) /*把这个地方改成if(array[j]>array[k]),能否实现从大到小排序*/
k=j;
t=array[k];array[k]=array[i];array[i]=t;
}
}

#include<stdio.h>
void main()
{
void sort(int array[],int n); 函数定义
int a[10],i; 定义变量
printf("enter the array\n"); 输出提示
for(i=0;i<10;i++)
scanf("%d",&a[i]); 变量赋值
sort(a,10);
printf("the sorted array:\n");
for(i=0;i<10;i++)
printf("%5d",a[i]);
printf("\n");
}
void sort(int ×array,int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(array[j]<array[k])
k=j;
t=array[k];array[k]=array[i];array[i]=t;
}
}
把函数参数改为指针变量就可以从小到大排序了。