很简单的统计元音题,但是不知道为什么输出错误

Description
统计每个元音字母在字符串中出现的次数。

Input
输入数据首先包括一个整数n,表示测试实例的个数,然后是n行长度不超过100的字符串。

Output
对于每个测试实例输出5行,格式如下:

a:num1
e:num2
i:num3
o:num4
u:num5

多个测试实例之间由一个空行隔开。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int n,i,A,E,I,O,U,m;
char s[103];
scanf("%d",&n);
while(n--)
{
A=0;
E=0;
I=0;
O=0;
U=0;
gets(s);
m=strlen(s);
for(i=0; i<m; i++)
{
if(s[i]=='a')
A++;
else if(s[i]=='e')
E++;
else if(s[i]=='i')
I++;
else if(s[i]=='o')
O++;
else if(s[i]=='u')
U++;
}
printf("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n",A,E,I,O,U);
}
return 0;
}

在输入 n 的语句后面插入一行getchar(); ,修改如下:
scanf("%d", &n);
getchar();
while (n--)
。。。。。。

你只考虑小写字母,没考虑大写吗,最好别用if,else,写switch会简单点