对十个数进行排序,c语言

不知道哪里出错了。
#include
#define N 10
int main(){
printf("请输入10个数:\n");
int i,j,t,a[N];
for(i=0;i
scanf("%d",&a[i]);
}
for(i=0;i
int min=1;
for(j=i+1;j
if(a[min]>a[j]) min=j;
if(min!=i){
t=a[min];
a[min]=a[i];
a[i]=t;
}
}
for(i=0;i
printf("%d ",a[i]);
}
return 0;
}

int min=i; 不是1


#include<stdio.h>

int main()

{

int i,j,a[10],t;

printf("请输入十个数:");

for (i = 0; i < 10; i++)

scanf("%d",&a[i]);

for (i = 0; i < 10; i++)

{

for (j = i + 1; j < 10;j++) //循环

if (a[i] < a[j]){

t = a[i];

a[i] = a[j];

a[j] = t;

}

}        

printf("从大到小排序后:");

for (i = 0; i < 10; i++)

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

return 0;

}

#include <stdio.h>
#define N 10
int main()
{
    printf("请输入10个数:\n");
    int i, j, t, a[N];
    for (i = 0; i < N; i++)
    {
        scanf("%d", &a[i]);
    }
    for (i = 0; i < N - 1; i++)
    {
        for(j = 0; j <N - 1 - i; j++)
         {
            if(a[j] < a[j+1])
            {
                t = a[j];
                a[j] = a[j+1];
                a[j+1] = t;
            }
         }

    }
    for (i = 0; i < N; i++)
    {
        printf("%d ", a[i]);
    }
    return 0;
}

最小值应该被假设为数组的第一个值,而不是1。