[求助]如何实现在一次循环下既对数字排序又可以按由小到大输出
如何实现在一次循环下既对数字排序又可以按由小到大输出
一次循环排序
for(j = 0;j<n;j++)
{
if(a[j]<a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
j = -1;
}
#include<stdio.h>
void main()
{
void clrscr(void);
int m,i,k,a[11];
k=0;
for(i=1;i<=10;i++)
scanf("%d",&a[i]);/*输入数据*/
clrscr();
/*完成排序及输出结果*/
for(i=1;i<=10;i++)
{
if(k==10)
{
printf("%d\n",a[i-2]);
continue;
}
if(i==10)
{
i=0;
i++;k++;
}
if(a[i-1]>a[i])
{
m=a[i];
a[i]=a[i-1];
a[i-1]=m;
}
}
}
不知道是不是你想要的。
这个程序不能输出最小的数,
我没心情研究了/
呵呵 !~