编写一个函数,输入一行字符,将此字符串中最长的单词输出。 输入仅一行,多个单词,每个单词间用一个空格隔开。单词仅由小写字母组成。所有单词的长度和不超过100000。如有多个最长单词,输出最先出现的。
时间: 2023-04-06 15:05:13 浏览: 258
好的,这是一个编程问题,我可以回答。以下是一个Python函数的实现,可以实现输入一行字符,输出此字符串中最长的单词:
```python
def longest_word(s):
words = s.split()
longest = ""
for word in words:
if len(word) > len(longest):
longest = word
return longest
```
你可以将输入的字符串作为参数传递给这个函数,例如:
```python
s = "this is a test string"
longest = longest_word(s)
print(longest) # 输出 "string"
```
希望这个函数能够帮助你解决问题!
相关问题
在主函数中输入一行字符串(该行字符串中有空格),写一个子函数,将此字符串中最长的单词输出。如果同时有多个最长的单词,输出第一个。
可以使用以下步骤实现:
1. 在主函数中输入一行字符串,可以使用 `gets()` 或 `fgets()` 函数。
2. 编写一个子函数,接收字符串作为参数。
3. 在子函数中,使用 `strtok()` 函数将字符串分割成单词,同时记录每个单词的长度和位置。
4. 遍历所有单词,找到最长的单词并记录其位置。
5. 输出最长的单词。
以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
void find_longest_word(char *str) {
int max_len = , max_pos = , len = , pos = ;
char *word;
word = strtok(str, " "); // 分割第一个单词
while (word != NULL) {
len = strlen(word);
if (len > max_len) {
max_len = len;
max_pos = pos;
}
pos += len + 1; // 记录下一个单词的位置
word = strtok(NULL, " "); // 分割下一个单词
}
printf("最长的单词是:");
for (int i = max_pos; i < max_pos + max_len; i++) {
printf("%c", str[i]);
}
printf("\n");
}
int main() {
char str[100];
printf("请输入一行字符串:");
gets(str);
find_longest_word(str);
return ;
}
```
用一个函数来实现将一行字符串中最长的单词输出。此行字符串从主函数传递给该函数。用c++来写这个题的代码
以下是一个用C++编写的将一行字符串中最长的单词输出的程序:
```c++
#include <iostream>
#include <string>
using namespace std;
string longestWord(string str) {
string result = "";
int maxLength = 0;
string currentWord = "";
for (int i = 0; i < str.length(); i++) {
if (str[i] == ' ') {
if (currentWord.length() > maxLength) {
maxLength = currentWord.length();
result = currentWord;
}
currentWord = "";
} else {
currentWord += str[i];
}
}
if (currentWord.length() > maxLength) {
maxLength = currentWord.length();
result = currentWord;
}
return result;
}
int main() {
string str;
cout << "请输入一行字符串: ";
getline(cin, str);
string longest = longestWord(str);
cout << "最长的单词是: " << longest << endl;
return 0;
}
```
这个程序先从主函数中获取一行字符串,然后遍历字符串中的每个字符,以空格为分隔符将每个单词分开,并记录下最长的单词。如果你希望了解更多细节,可以参考这个链接:https://www.geeksforgeeks.org/find-the-longest-word-in-a-string/
阅读全文