由题可知,要求我们求出各字符的字符数量,首先我们应该想办法编写一个可以逐一分析字符串每位字符的程序,如下列程序:
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char str[41];
cin.getline(str, 41);
int zimu = 0, shuzi = 0, kongge = 0, qita = 0;
for (int i = 0; i < strlen(str); i++)
{
if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) zimu++;
else if (str[i] >= '0' && str[i] <= '9') shuzi++;
else if (str[i] == ' ') kongge++;
else qita++;
}
cout << "zimu=" << zimu << endl;
cout << "shuzi=" << shuzi << endl;
cout << "kongge=" << kongge << endl;
cout << "qita=" << qita << endl;
return 0;
}
通过字符数组和for循环来实现对字符串中各位的分析以来确定不同字符的数量。在这里字符数组明显比直接使用字符串要简单的多。如果直接使用输入字符的形式则会忽略空格这一字符,因此行不通。