高手看看我这个c语言排序哪错了

来源:百度知道 编辑:UC知道 时间:2024/05/28 12:29:55
#include<stdio.h>
void main()
{
int j,i,k,t,a[10];
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<=8;i++)
{ k=i;
for(j=i+1;j<10;j++)
{ if(a[k]>a[j])
k=j;
}
if(k!=i)
t=a[i];
a[i]=a[k];
a[k]=t;

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


#include<stdio.h>
void main()
{
int j,i,k,t,a[10];
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<=8;i++)
{ k=i;
for(j=i+1;j<10;j++)
{ if(a[k]>a[j])
k=j;
}
if(k!=i) //大括号漏了
{t=a[i];
a[i]=a[k];
a[k]=t; }

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

你的程序没有问题!!!!!!!!!!!!!!!!!!!!
是个很好的插入排序,用指针会更好
如果用wintc或TurboC2.0 最好在程序末尾加个getch()看输出结果!!!!!!!!!!

for(i=0;i<=9;i++)
把8改成9
if(k!=i)
{
t=a[i];
a[i]=a[k];
a[k]=t;
}//少括号

没错误
而且我还学了一种新的排序方法
谢谢