为什么我输入的n是5,但是输入三组数据时,就直接输出了

#include
#define int long long
signed main(){
char w[5005];
int n,k[5005];
int max=0;
scanf("%lld",&n);
for(int i=0;i
scanf("%c %lld",&w[i],&k[i]);
}
for(int i=0;i
if(k[i]>=max)max=k[i];
}
for(int i=0;i
if((int)w[i]==97&&k[i]==max)printf("Yes");
}}

循环输入时,如果第一个是%c,那么输入第二组数据前,要先接收掉上一组数据中的换行符,否则第二行的%c自动会接收换行符的
for(int i=0;i<n;i++)
scanf("%c %lld",&w[i],&k[i]);
getchar();
}