此题思路简单,就是遍历整个字符串直接进行统计就行,但是一定要注意几点:
1.在获取输入的时候一定要整行获取c就是gets,c++就用getline
2.输出的时候是每个数字都要换行(坑爹的)
#include <iostream>
using namespace std;
int main()
{
char inStr[100];
int len,english,space,number,other;
gets_s(inStr);
len = strlen(inStr);
english=space=number=other=0;
for (int i = 0; i < len; i++)
{
//英文字符
if ((inStr[i] >= 'a'&&inStr[i] <= 'z') || (inStr[i] >= 'A'&&inStr[i] <= 'Z'))
{
english++;
}
else if (inStr[i] == ' ')
{
space++;
}
else if (inStr[i] >= '0'&&inStr[i] <= '9')
{
number++;
}
else
{
other++;
}
}
cout << english << endl;
cout << space << endl;
cout << number << endl;
cout << other << endl;
return 0;
}