用C++提取字符功能。 提取规则: 提取首字符、空格后首字符、大写字符、数字,提取后的字符需要转小写使用空格连接输出,需要有异常参数判断。 例如: HangZhou KFC, 提取后"h z k f c"
时间: 2024-05-04 12:21:33 浏览: 43
下面是一个简单的 C++ 程序,可以实现上述功能。其中,使用 `isalnum()` 函数判断字符是否为字母或数字,使用 `isupper()` 函数判断字符是否为大写字母,使用 `tolower()` 函数将大写字母转换为小写字母。
```c++
#include <iostream>
#include <string>
using namespace std;
string extract_chars(string str) {
string result = "";
bool space_flag = false;
for (int i = 0; i < str.length(); i++) {
if (i == 0 || space_flag || isupper(str[i]) || isalnum(str[i])) {
result += tolower(str[i]);
space_flag = false;
}
if (isspace(str[i])) {
space_flag = true;
}
}
return result;
}
int main() {
string str;
cout << "请输入字符串:";
getline(cin, str);
cout << "提取后的字符:";
try {
cout << extract_chars(str) << endl;
} catch (...) {
cout << "输入字符串异常!" << endl;
}
return 0;
}
```
在程序中,`extract_chars()` 函数用于提取字符,输入参数为字符串,输出参数为提取后的字符。在函数内部,使用一个字符串 `result` 保存提取后的字符,使用一个布尔变量 `space_flag` 判断前一个字符是否为空格,以便加入间隔空格。
在主函数中,首先输入字符串,然后调用 `extract_chars()` 函数提取字符并输出结果。程序还进行了异常参数判断,如果输入字符串不符合要求,将会抛出异常。
阅读全文