统计不同字符个数,用户从键盘键入一行字符,编写一个程序,统计并输出其中英文字符、数字、空格和其他字符的个数
时间: 2023-12-15 18:53:01 浏览: 31
这是一个简单的统计字符个数的程序,使用了字符分类函数 isalpha、isdigit 和 isspace,可以统计出英文字母、数字和空格的个数,其他字符的个数可以通过总字符数减去前三种字符的个数得到。以下是示例代码:
```c++
#include <iostream>
#include <cstring>
#include <cctype>
int main() {
char str[1000];
std::cout << "请输入一行字符:" << std::endl;
std::cin.getline(str, 1000);
int letter_count = 0; // 英文字母个数
int digit_count = 0; // 数字个数
int space_count = 0; // 空格个数
int other_count = 0; // 其他字符个数
int total_count = 0; // 总字符个数
for (int i = 0; i < strlen(str); ++i) {
if (isalpha(str[i])) { // 判断是否为英文字母
letter_count++;
} else if (isdigit(str[i])) { // 判断是否为数字
digit_count++;
} else if (isspace(str[i])) { // 判断是否为空格
space_count++;
} else { // 其他字符
other_count++;
}
total_count++;
}
std::cout << "总字符个数:" << total_count << std::endl;
std::cout << "英文字符个数:" << letter_count << std::endl;
std::cout << "数字个数:" << digit_count << std::endl;
std::cout << "空格个数:" << space_count << std::endl;
std::cout << "其他字符个数:" << other_count << std::endl;
return 0;
}
```
注意:输入的字符数不能超过 999 个,因为数组 str 的大小为 1000。如果需要处理更多的字符,需要使用动态分配内存的方式来实现。