最长单词
题目描述
在这些题目里,或许CoolGuang与Sheryang已经很熟悉了,想不想知道他们的联系方式,之后一起做题呢?
正确之后,就告诉你: 输入一个句子,输出一个句子中最长的单词 如果有多个最长的输出最左边的那个
输入描述
一个句子 包含小写字母
输出描述
最长的单词
样例
输入
my name is coolguang
输出
coolguang
提示
数组长度<=10000
来源
c语言实验6——高级函数应用
C++实现
#include <iostream>
using namespace std;
int main() {
string str;
getline(cin, str); // 读入一行句子,包括空格
// imax 当前最长单词的长度, nowlen 当前单词的长度
// now_index 当前单词首字母下标, index 最长单词首字母下标
int imax = 0, nowlen = 0, now_index = 0, index = 0;
for (long long unsigned int i = 0; i < str.size(); i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
if (nowlen == 0) {
now_index = i;
}
nowlen++;
} else {
if (imax < nowlen) {
imax = nowlen;
index = now_index;
}
nowlen = 0;
}
}
if (imax < nowlen) {
index = now_index;
}
for (long long unsigned int i = index; i < str.size(); i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
cout << str[i];
} else {
break;
}
}
return 0;
}