输入n,再输入n个整数,存为数组,用选择排序由小到大排列,pta总是显示运行超时

可是在编译器上没有问题,这怎么办呢?
#include
int main()
{
int n;
printf("n=");
scanf("%d",&n);
int i,j,t,a[n];
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i
{
for(j=i;j
{
if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
for(j=0;j
{
printf("%d\n",a[j]);
}
return 0;
}


#include<stdio.h>

int main()
{
    int i=0;
    int j=0;
    int tmp,n;
    int arr[20];
    printf("请输入您要排序的整数个数n(n<20): \n");
    scanf("%d",&n);
    printf("arr[%d]: ",n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&arr[i]);
    }
    for(i=0;i<n-1;i++)
        {
            for(j=i+1;j<n;j++)
            {
                if(arr[j]<arr[i])
                {
                    tmp=arr[i];
                    arr[i]=arr[j];
                    arr[j]=tmp;
                }
            }
        }
    printf("排序后的%d个整数:\narr[%d]: ",n,n);
    for(i=0;i<n;i++)
    {
        printf("%d ",arr[i]);
    }
    printf("\n");
    return 0;
}


for(i=0;i<10;i++)
明明输入n个,为啥for用10呢?