第1个回答 2011-06-11
#include <stdio.h>
#define N 10
int main()
{
int i, j, k,temp;
int a[N];
printf("please input %d numbers:\n",N);
for(i = 0; i < N; i++)
{
scanf("%d",&a[i]);
}
for (i = 0; i < N-1; i++)
{
k = i; //标记起始位置,不能少
for (j = i+1; j < N; j++)
{
if (a[i] > a[j])
{
k = j; //标记将要交换的位置
if (k != i)
{
temp = a[i];
a[i] = a[k];
a[k] = temp;
}
}
}
}
for(i = 0; i < N; i++)
{
printf("%-5d",a[i]);
}
printf("\n");
return 0;
}
第2个回答 2011-06-11
void Selection(int *p)
{
int i,j;
int temp;
int max = 0;
for(i=0;i<14;i++)
{
max = i;
for(j=i+1;j<15;j++)
{
if(p[i]<p[j])
{
max = j;
temp = p[i];
p[i] = p[j];
p[j] = temp;
}
}
}
}
对数组p排序。很简单咯~~
要改变排序方式,改一下if语句就好。