想问一下哪里错了啊,就是排序前那里没有办法正常排序

img

img

int main()
{
int i,j,t,a[10];
printf("请输入10个整数:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("----------------------------\n");
printf("排序前:%d\n",a[10]);
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
if(a[j]<a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}

     printf("排序后:\n");
    for(i=0;i<10;i++)
        printf("%5d",a[i]);
        printf("\n");
return 0;

}


#include <stdio.h>

int main()
{
int i,j,t,a[10];
printf("请输入10个整数:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("----------------------------\n");

//排序前也要数组循环输出
printf("排序前:\n");
for(i=0;i<10;i++)
        printf("%5d",a[i]);
        printf("\n");

for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
if(a[j]<a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}

     printf("排序后:\n");
    for(i=0;i<10;i++)
        printf("%5d",a[i]);
        printf("\n");
return 0;
}

这个
printf("排序前:%d\n",a[10]);
a[10]换成a[i]

排序前不应该使用循环将真个数组输出么,而且a[10]本来超出了数组的边界