记录所输入的字符串之中不同类型字符的个数,他记录的其他字符数量总是多一个

#include
using namespace std;
int main()
{
int a=0,b=0,c=0,d=0;char i;
cout<<"请输入一组字符:";
do
{
i=getchar();
if(i>='a'&&i<='z') a++;
else if(i>='A'&&i<='Z') a++;
else if(i==32) b++;
else if(i>='0'&&i<='9') c++;
else d++;
}
while(i!='\n');
cout << "英语字母的数量:" < return 0;
}

把换行也接收到了 所以其他字符会多一个