欢迎来到C++信息学奥赛一本通的答题环节。本次我们一起来解答的题目是:最长最短单词。
首先,我们根据题目来判断这道题应该怎么做。这道题的描述是:
输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。试输出第1个最长的单词和第1个最短单词。
样例输入:
I am studying Programming language C in Peking University
样例输出
Programming I
这道题乍一看也不难嘛,也许你会很快地写出代码:
#include <iostream>
#include <cstring>
using namespace std;
int n;
int maxSize, minSize = 128;
char words[256][128];
string text;
string maxWord, minWord;
int main() {
getline(cin, text);
for (int i = 0, j = 0; i < text.size(); i++) {
if (text[i] == ' ') {
n++;
j = 0;
}
else {
words[n][j] = text[i];
j++;
}
}
for (int i = 0; i <= n; i++) {
if (strlen(words[i]) < minSize) {
minSize = strlen(wor