编写c++程序,求出所给出的字符串中最长的字母字符。
时间: 2024-04-30 17:19:13 浏览: 10
以下是一个简单的 C++ 程序,可以找到给定字符串中最长的字母字符:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
getline(cin, str); // 输入字符串,包含空格
int maxLen = 0, curLen = 0;
char maxChar = '\0', curChar = '\0';
for (int i = 0; i < str.length(); i++) {
if (isalpha(str[i])) { // 如果当前字符是字母
if (str[i] == curChar) {
curLen++;
} else {
if (curLen > maxLen) {
maxLen = curLen;
maxChar = curChar;
}
curLen = 1;
curChar = str[i];
}
}
}
if (curLen > maxLen) { // 处理最后一个字符
maxLen = curLen;
maxChar = curChar;
}
if (maxLen == 0) { // 如果没有字母字符
cout << "No letter character found." << endl;
} else {
cout << "The longest letter character is '" << maxChar << "' with length " << maxLen << "." << endl;
}
return 0;
}
```
程序从标准输入读入一个字符串,然后遍历字符串中的每个字符。如果当前字符是字母,则将其与前一个字母字符比较,如果相同,则当前字母字符长度加一,否则将前一个字母字符的长度与最大长度比较,如果更长,则更新最大长度和最长字母字符。最后输出结果。注意,程序假定输入的字符串包含空格,并且不考虑字母大小写。