c++题目:最长最短单词
时间: 2024-09-21 10:01:43 浏览: 50
C++ 题目通常涉及到算法设计,比如解决查找最长和最短单词的问题。这个问题通常需要遍历字符串数组,同时维护两个变量分别记录当前找到的最长和最短单词。以下是解答的一个简化版本:
```cpp
#include <iostream>
#include <vector>
#include <string>
std::pair<std::string, std::string> longestShortestWords(const std::vector<std::string>& words) {
if (words.empty()) return {"", ""}; // 如果数组为空,返回空的最长和最短词
std::string longest("", 0), shortest(words[0], words[0].length());
for (const auto& word : words) {
if (word.length() > longest.length()) {
longest = word; // 更新最长词
}
else if (word.length() < shortest.length()) {
shortest = word; // 更新最短词
}
}
return {longest, shortest};
}
int main() {
std::vector<std::string> words = {"apple", "banana", "cat", "dog"};
auto result = longestShortestWords(words);
std::cout << "Longest word: " << result.first << "\n";
std::cout << "Shortest word: " << result.second << "\n";
return 0;
}
```
这个程序首先检查输入数组是否为空,然后初始化最长和最短词为第一个单词。接着遍历数组,如果遇到比当前最长词更长的单词,则更新最长词;如果遇到比当前最短词更短的单词,则更新最短词。最后返回这两个结果。
阅读全文