为啥我就循环不起来,输入一个整数就开始循环了回撤应该不在缓冲区把scanf输入的是int形

问题遇到的现象和发生背景[](

```c
#include<stdio.h>
#include<string.h>
int main()
{   
    
    int t1=0,t2=0,t3=0,t4=0,t5=0,n,i,num;
    char a[200];
    scanf("%d",&n);  
    for(i=1;i<=n;i++)
    {
        gets(a);
        num=strlen(a);
        for(i=0;i<num;i++)
        { 
            if(a[i]=='a')t1++;
            if(a[i]=='e')t2++;
            if(a[i]=='i')t3++;
            if(a[i]=='o')t4++;
            if(a[i]=='u')t5++;
            
        }
        printf("a:%d\n",t1);
         printf("e:%d\n",t2);
          printf("i:%d\n",t3);
           printf("o:%d\n",t4);
            printf("u:%d\n",t5);
            printf("\n");
    }
   
}

```)

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

修改,供参考:

#include<stdio.h>
#include<string.h>
int main()
{
    int t1=0,t2=0,t3=0,t4=0,t5=0,n,i,j,num;   //修改
    char a[200];
    scanf("%d",&n);
    getchar();        //修改
    for(j=1;j<=n;j++) //for(i=1;i<=n;i++) 修改
    {
        gets(a);
        num=strlen(a);
        for(i=0;i<num;i++)
        {
            if(a[i]=='a')t1++;
            if(a[i]=='e')t2++;
            if(a[i]=='i')t3++;
            if(a[i]=='o')t4++;
            if(a[i]=='u')t5++;
        }
        printf("a:%d\n",t1);
        printf("e:%d\n",t2);
        printf("i:%d\n",t3);
        printf("o:%d\n",t4);
        printf("u:%d\n",t5);
        printf("\n");
        t1=0,t2=0,t3=0,t4=0,t5=0;  //修改
    }
    return 0;
}

第15行,内层循环变量换一个就好了