7楼的打擂台的方法是可以,不过有点问题,就是每次比较的时候,发现比自己小的就交换,这样效率有点低,最好是记住数组的下标,比较完了再跟最小的交换。以下是我写的代码。
#include <stdio.h>
#include <stdlib.h>
void main()
{
int i, j, number[5], nTmp, sum;
printf("请输入5个整数:");
for(i = 0; i < 5; i++)
{
scanf("%d",&number[i]);
}
printf("您输入的数是:");
for(i = 0; i < 5; i++)
{
printf("%d\t",number[i]);
}
for(i = 0; i < 5; i++)
{
nTmp = i;
for(j = i; j < 5; j++)
{
if(number[nTmp] > number[j])
{
nTmp = j;
}
}
if(nTmp != i)
{
sum = number[i];
number[i] = number[nTmp];
number[nTmp] = sum;
}
}
printf("\r\n按照从小到大的方式排列为:");
for(i = 0; i < 5; i++)
{
printf("%d\t",number[i]);
}
printf("\r\n");
system("pause");
}