排序的地方就缺少参数替换,从if开始就有问题。你需要熟悉下面两种重要的排序方法。
用冒泡法排序:
#include <stdio.h>
main()
{
int a[5];
int i,j,t;
for (i=0;i<5;i++)
scanf("%d",&a[i]);
for (i=0;i<4;i++)
for(j=0;j<4-i;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
for (i=0;i<5;i++)
printf("%3d",a[i]);
}
选择排序:
#include <stdio.h>
main()
{
int a[5];
int i,j,k,t;
for (i=0;i<5;i++)
scanf("%d",&a[i]);
for (i=0;i<4;i++)
{
k=i;
for(j=i+1;j<5;j++)
if(a[k]>a[j])
k=j;
if(k!=i)
{
t=a[k];
a[k]=a[i];
a[i]=t;
}
}
for(i=0;i<5;i++)
printf("%3d",a[i]);
}
希望对你有帮助。
温馨提示:答案为网友推荐,仅供参考