输入一行字符统计其中的英文字符中数字字符空格和其他字符的个数利用字符数组的方法
时间: 2024-01-28 15:05:53 浏览: 58
下面是一个 C++ 的示例代码,可以实现输入一行字符,统计其中的英文字符、数字字符、空格和其他字符的个数,使用字符数组的方法:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char str[100];
int len, letters = 0, digits = 0, spaces = 0, others = 0;
cout << "请输入一行字符:" << endl;
cin.getline(str, 100);
len = strlen(str);
for (int i = 0; i < len; i++)
{
if (isalpha(str[i])) // 判断是否为英文字符
letters++;
else if (isdigit(str[i])) // 判断是否为数字字符
digits++;
else if (isspace(str[i])) // 判断是否为空格
spaces++;
else // 其他字符
others++;
}
cout << "英文字符个数:" << letters << endl;
cout << "数字字符个数:" << digits << endl;
cout << "空格个数:" << spaces << endl;
cout << "其他字符个数:" << others << endl;
return 0;
}
```
这段代码首先定义了一个字符数组 `str`,用于存储输入的一行字符;然后定义了四个计数器变量 `letters`、`digits`、`spaces` 和 `others`,分别用于记录英文字符、数字字符、空格和其他字符的个数;接着使用 `cin.getline()` 函数读取输入的一行字符,最后使用一个循环对输入的字符逐个进行判断,并将结果累加到相应的计数器中。
在循环中,使用了 C++ 标准库中的 `isalpha()`、`isdigit()` 和 `isspace()` 函数分别判断一个字符是否为英文字符、数字字符和空格。如果都不是,就将该字符视为其他字符。最后输出四个计数器变量的值即可。
阅读全文