用排序法实现不了功能,哪里错了

我用选择排序法,怎么编写的代码实现不了呢,
#include <stdio.h>
int main()
{
int a[10],i,j,k,temp;
printf("请输入10位数\n",a[i]);
for(i=0;i<10;i++)
{
scanf("% d",&a[i]);
}
for(i=0;i<9;i++)
{
k=i;
for(j=1;j<10;j++)
{
if(a[k]>a[j])

             { k=j;}
          
      }
  if(k!=i)
  {
        temp=a[k];
        a[k]=a[i];
        a[i]=temp;
  }
 }
 printf("调序之后得数是:% d\n");
 for(i=0;i<10;i++)
 
  {  printf("% d",a[i]);}
 
 printf("\n");
 return 0;

}

for(j=1;j<10;j++)这里你写错了,应该是for(j=i+1;j<10;j++)
j 从i+1(或者i)开始,不是从1开始,你把i写成1了

#include <stdio.h>
int main()
{
    int a[10],i,j,k,temp;
    printf("请输入10位数\n",a[i]);
    for(i=0;i<10;i++)
    {
        scanf("% d",&a[i]);
    }
    for(i=0;i<9;i++)
    {
        k=i;
        for(j=i;j<10;j++)//这里,你把i写成1了
        {
            if(a[k]>a[j])
            { k=j;}

        }
        if(k!=i)
        {
            temp=a[k];
            a[k]=a[i];
            a[i]=temp;
        }
    }
    printf("调序之后得数是:% d\n");
    for(i=0;i<10;i++)

    {  printf("% d",a[i]);}

    printf("\n");
    return 0;
}