在c++中,统计一个字符串中有多少个字母,数字和其他
时间: 2024-09-26 13:09:02 浏览: 30
C++统计中英文大小写字母、数字、空格及其他字符个数的方法
5星 · 资源好评率100%
在 C++ 中,你可以通过遍历字符串并检查每个字符是否属于特定类别来统计其中的字母、数字和其他字符。以下是一个简单的示例:
```cpp
#include <iostream>
#include <string>
using namespace std;
int countCharacters(string str, char type) {
int count = 0;
for (char c : str) {
if (isalpha(c)) { // 检查字母
if (islower(c)) {
count += 1; // ASCII 码范围小写字母为97-122,大写为65-90
} else if (isupper(c)) {
count += 1; // ASCII 码范围内大写字母
}
} else if (isdigit(c)) { // 检查数字
count += 1; // ASCII 码范围内的数字为48-57
} else if (type == 'o' && !isspace(c)) { // 包括其他非字母和数字字符,但排除空格
count += 1;
}
}
return count;
}
int main() {
string inputStr;
cout << "Enter a string: ";
getline(cin, inputStr);
int alphaCount = countCharacters(inputStr, 'a'); // 统计字母数量
int digitCount = countCharacters(inputStr, 'd'); // 统计数字数量
int otherCount = countCharacters(inputStr, 'o'); // 统计其他字符数量
cout << "Alphabets: " << alphaCount << endl;
cout << "Digits: " << digitCount << endl;
cout << "Other characters: " << otherCount << endl;
return 0;
}
```
在这个程序中,`countCharacters`函数接受一个字符串和一个字符类型('a'代表字母,'d'代表数字,'o'代表其他),然后返回相应类型的字符数量。
阅读全文