我们可以 每次把数组中的最小值(最大值)找出来,然后依次排序。
#include"stdio.h"
#define Q 10 //宏定义 10个数
int main()
{
int a[Q],min,pos,i,j;
printf("请输入%d个整数:\n",Q);
for(i=0;i<Q;i++)
scanf("%d",&a[i]);
for(i=0;i<Q-1;i++)//表达式2减一的目的是为了不会出现下标越界
{
min=a[i];// 把每一次作为最小值
pos=i;//获取最小值的标
for(j=i+1;j<Q;j++)
if(a[j]<min)
{
min=a[j];//获取每一次的最小值
pos=j; //获取最小值的下标
}
a[pos]=a[i];
a[i]=min; //交换值
}
for(i=0;i<Q;i++)
printf("%d ",a[i]);
}