c语言数组排列问题之选择法

img


我觉得没啥错,输入的时候也没加逗号,为什么还是输出一堆乱七八糟的数据


#include<stdio.h>
int main()
{
    int arr[10];            /*定义一个10个元素的数组*/ 
    int i,j,temp,pos;       /*temp记录最小值,pos记录最小值位置*/
    for(i=0;i<=9;i++)       /*输入各个数字*/
    {
        scanf("%d",&arr[i]);
    }
    for(i=0;i<9;i++)         /*10个数排序,则只需执行9次*/
    {
        temp=arr[i];         /*记录此时的值为最小值*/
        pos=i;               /*记录该元素的位置*/
        for(j=i+1;j<10;j++)  /*与后面的元素逐个比较*/
        {
            if(arr[j]<temp)  /*若temp中的数大于下一位,则temp赋值为下一位*/
            {
                temp=arr[j];
                pos=j;
            }
        }
        arr[pos]=arr[i];      /*交换两个元素的值*/
        arr[i]=temp;
    }
    for(i=0;i<=9;i++)         /*输出排序后的数组*/
    {
        printf("%d ",arr[i]);
    }
    return 0;
 }