编程问题,将N个数从小到大排列怎么做?

情大虾们帮忙,最好是版本是VC++6.0的,谢谢

冒泡法书上有,也很好找。我给出两种别的排序法,C版本的:
1.
//插入法排序
//假定从大到小
#include <stdio.h>

int main(int argc, char *argv[])
{
int i,j,k,a[10];
int buff;//储存数据
int sorted=1;//已排序的个数,假设初始为一;

printf("Input ten numbers:\n");
for(i=0;i<=9;i++)
scanf("%d",&a[i]);
printf("\n");

for(i=1;i<=9;i++)
{
for(j=sorted-1;j>=0;j--)
{
if(a[j]>a[i])
{
//insert(j);
buff=a[i];
for(k=i;k>=j+2;k--)
{
a[k]=a[k-1];
}
a[j+1]=buff;
break;
}
else// insert(0);
{
buff=a[i];
for(k=i;k>=1;k--)
{
a[k]=a[k-1];
}
a[0]=buff;
break;

}
}
sorted++;
}

for(i=0;i<=9;i++)
{
printf("%d\n",a[i]);
}

return 0;
}

2.//选择法排序;
#include <stdio.h>

int main(int argc, char *argv[])
{
int i, j,t,min,a[11];
printf("Please input ten numbers:\n");
for(i=0;i<=9;i++)
scanf("%d",&a[i]);

for(j=0;j<=8;j++)
{
min=a[j];
for(i=j+1;i<=9;i++)
{
if(a[i]<min)
{
t=min;
min=a[i];
a[i]=t;
}
continue;

}
a[j]=min;
}
for(j=0;j<=9;j++)
printf("%d\n",a[j]);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-01-11
参见C语言的冒泡法,最好自己试试写出代码,别人给出代码不会进步
第2个回答  2007-01-11
可以现弄成数组 然后 冒泡排序 查一下就有了