数组中插入一个数,请问哪里不对

题目描述
给定有序数组(从小到大),再给你一个数,要求插入该数到数组中并保持顺序
输入
多组测试,每组第一行输入一个整数n,然后是n个有序的整数 第二行输入1个整数m和1个整数K
输出
将整数m插入到原数组中保持顺序是升序,然后输出2行 第一行是插入以后的数组 第二行是插入以后的数组中下标值是K的数 n m k不超过20
样例输入
3 1 2 5
3 1
样例输出
1 2 3 5
2


#include <stdio.h>
#include<math.h>
int main()
{
    int i,n,m,k,t,j,l;
    while(scanf("%d",&n)!=EOF){
    int a[20];
    for(i=0;i<n;i++) {scanf("%d",&a[i]);}
    scanf("%d%d",&m,&k);
    for(i=0;i<n;i++)
    {
        if(m<a[i]) {t=i;break;}
    }
    j=n-1;
    while(j>=t)
    {
        a[j+1]=a[j];
        j--;
    }
    a[t]=m;

    for(i=0;i<n;i++) printf("%d ",a[i]);
    printf("%d\n",a[n]);
    printf("%d\n",a[k]);
    }
    return 0;
}


没错呀,样例能过