最长单词2

这是一个C语言程序,用于找出以句点结尾的简单英文句子中最长的单词。程序通过读取输入的单词,判断其长度,并在遇到句点时停止,输出最长的单词。示例输入为'I am a student of Peking University.',输出为'University'。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



【描述】

一个以'.'结尾的简单英文句子,单词之间用空格分隔,没有缩写形式和其它特殊形式。

【输入】

一个以'.'结尾的简单英文句子(长度不超过500),单词之间用空格分隔,没有缩写形式和其它特殊形式。

【输出】

该句子中最长的单词。如果多于一个,则输出第一个。

【输入示例】

I am astudent of Peking University.

【输出示例】

### C++ 实现查找最长单词的算法 在处理字符串数组并找到其中最长单词时,可以采用多种方法来实现这一目标。以下是基于给定条件的一种解决方案: #### 方法描述 为了找出字符串数组中的最长单词,可以通过遍历整个数组并对每个字符串计算其长度来进行操作。如果发现当前字符串比之前记录的最长字符串更长,则更新最长字符串的结果。 下面是具体的代码实现以及解释: ```cpp #include <iostream> #include <vector> #include <string> using namespace std; class Solution { public: string findLongestWord(vector<string>& words) { string longestWord = ""; // 初始化为空字符串 for (const auto& word : words) { // 遍历每一个单词 if (word.length() > longestWord.length()) { // 如果当前单词比已知最长单词还长 longestWord = word; // 更新最长单词 } else if (word.length() == longestWord.length()) { // 如果长度相等 if (word < longestWord) { // 按照字典顺序比较 longestWord = word; } } } return longestWord; // 返回最终结果 } }; int main() { vector<string> words = {"apple", "banana", "watermelon", "grape"}; // 示例输入 Solution sol; cout << "The longest word is: " << sol.findLongestWord(words) << endl; // 输出结果 return 0; } ``` #### 关键点解析 1. **初始化变量** 使用 `longestWord` 来存储目前找到的最长单词,并将其初始值设为空字符串[^5]。 2. **遍历与判断逻辑** 对于每一轮循环中的单词,首先检查它的长度是否超过现有的最长单词。如果是,则直接替换;如果不是但两者长度相同,则进一步按照字典序进行比较,选取较小的那个作为新的候选者[^6]。 3. **返回结果** 循环结束后,`longestWord` 中保存的就是满足题目要求的最长单词[^7]。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值