编写一个函数,输入一行字符,将此字符串中最长的单词输出。输入一行只包含英文字符和空格的字符串,字符串的长度不超过100.。输出读入的最长单词。 请注意行尾输出换行。请使用cpp进行编程。
时间: 2023-12-18 18:57:44 浏览: 254
好的,我明白了。以下是您所要求的代码,可以实现该功能:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char str[101];
cin.getline(str, 101);
int len = strlen(str);
int start_pos = 0, max_len = 0; // 记录最长单词的起始位置和长度
int cur_pos = 0, cur_len = 0; // 记录当前单词的起始位置和长度
while (cur_pos < len)
{
if (str[cur_pos] == ' ') // 如果是空格,则说明当前单词结束
{
if (cur_len > max_len)
{
max_len = cur_len;
start_pos = cur_pos - cur_len;
}
cur_len = 0; // 重置当前单词的长度
}
else
{
cur_len++;
}
cur_pos++;
}
// 处理最后一个单词
if (cur_len > max_len)
{
max_len = cur_len;
start_pos = cur_pos - cur_len;
}
for (int i = start_pos; i < start_pos + max_len; i++)
{
cout << str[i];
}
cout << endl;
return 0;
}
```
以上是代码实现,您可以直接将其复制到您的代码编辑器中,保存并编译运行即可。注意,代码中只考虑了空格作为单词分隔符,如果有其他分隔符或者标点符号,则需要作出相应调整。
阅读全文