
1.scanf("%d",&a[i]); //%d后面不用加空格,如果%d后面有空格,输入数据的时候就要多打一个空格
2.选择排序的逻辑也不是你写的那样的。
代码修改如下:
#include <stdio.h>
int main()
{
int a[10],i,j,min,minindex;
printf("please input an array:\n");
for(i = 0;i< 10;i++)
scanf("%d",&a[i]); //%d后面不用加空格
for (i = 0;i<9;i++)
{
minindex = i;
for (j = i+1;j<10;j++)//每轮比较n-1-i次, 找本轮最小数的下标
{
if(a[minindex] > a[j])
{
minindex = j;//保存小的数的下标
}
}
//找到最小数之后如果它的下标不是i则说明它不在最左边, 则互换位置
if(minindex != i)
{
min = a[minindex];
a[minindex] = a[i];
a[i] = min;
}
}
for(i = 0;i< 10;i++)
printf("%d ",a[i]);
return 0;
}