编写程序,统计从键盘输入的字符串中字母、数字、空格和其他字符数的个数。要求:
(1)自定义一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符数的个数,使用引用作为形参类型,函数返回类型为void。
#include <iostream>
#include <string>
using namespace std;
void statisNum(string& str)
{
int len = str.length();
int arr[4] = { 0 };
for (int i = 0; i < len; i++)
{
if (str[i] >= 'A' && str[i] <= 'Z') //比较acssll码得值,判断区间归属
arr[0]++;
else if (str[i] >= 'a' && str[i] <= 'z')
arr[0]++;
else if ('0' <= str[i] && str[i] <= '9')
arr[1]++;
else if (str[i] == ' ')
arr[2]++;
else if (str[i] != '/0') //如过前边得都没有且没有结束,就算其他得字符区间
arr[3]++;
}
cout << "字母的个数为:" << arr[0] << endl;
cout << "数字的个数为:" << arr[1] << endl;
cout << "空格的个数为:" << arr[2] << endl;
cout << "其他的个数为:" << arr[3] << endl;
}
int main()
{
string S;
char c;
while ((c = cin.get()) != '\n') //若没有换行则一直输入字符
{
S += c; //存入字符串string
}
cout << S << endl;
statisNum(S);
}