Description
输入一个英文句子,长度不超过200个字符。其中可包含的符号只有逗号","和句号"."。
输出句子中最长的一个单词。如果有多个这样的单词,输出最后出现的。
Input
多组数据,每行为一个句子,其中符号"."不代表句子结束,譬如人名中可含有".”。
Output
每行一个最长单词。这里单词的定义是仅由连续的字母组成的字符串。
Sample Input
Good morning.
Have a nice day.
Sample Output
morning
nice
参考代码
#include <iostream> #include <cstring> using namespace std; int main(){ int max; char s[210],p[210]; char *pch; while(std::cin.getline(s,210)){ max = 0; //divided into word pch = strtok(s,",. "); while(pch != NULL){ if(strlen(pch) >= max){ max = strlen(pch); strcpy(p,pch); } pch = strtok(NULL,",. "); } //print result std::cout<<p<<std::endl; } return 0; }
本文介绍了一个简单的C++程序,用于从包含特定标点符号的英文句子中找出最长的单词,并在遇到长度相等的情况时返回最后一个单词。该算法使用了标准库函数进行字符串分割。
1901





