最长最短单词-题解

描述

输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔,逗号前后不会有空格。

试输出第1个最长的单词和第1个最短单词。

输入描述

一行句子。

输出描述

两行输出:
第1行,第一个最长的单词。
第2行,第一个最短的单词。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include<bits/stdc++.h>
using namespace std;
int main(){
string s, tmp, max, min;
getline(cin, s);
s += ' ';
int start = 0, len = 0;
int ml = 200, mal = 0;
for(int i = 0; i < s.length(); ++i){
if(s[i] == ' ' || s[i] == ','){
if(len > 0){
tmp = s.substr(start, len);
if(len > mal){
max = tmp;
mal = len;
}
if(len < ml){
min = tmp;
ml = len;
}
}
start = i + 1;
len = 0;
}else{
len++;
}
}
cout << max << endl;
cout << min << endl;
return 0;
}


最长最短单词-题解
https://chenxi-tijie.pages.dev/2025/07/最长最短单词-题解/
作者
chenxi
发布于
2025年7月4日
许可协议