最长的单词

来源:互联网 发布:java 数字验证码识别 编辑:程序博客网 时间:2024/05/03 08:55

题目描述

求一行句子中最长的单词,如果出现并列情况,输出字典序最小的单词,例如如果above和alive同时为最长单词,则输出above

程序输入说明

行1:一行空格分隔的字母,此行最少1个字符(且非空格)最多1000个字符,单词最长16个字符

程序输出说明

行1:最长的单词

程序输入样例

可见格式带空格和换行符的格式带空格和换行符的格式说明
I am a student

I[SP]am[SP]a[SP]student[EOL] [EOF] 


输入数据举例中,[sp]代表此处有一个空格,[EOL]、[EOF]代表回车


程序输出样例

OriginalTransformed带空格和换行符的格式说明
student
student[EOL] [EOF] 
输出数据举例中,[sp]代表此处输出一个空格,[EOL]代表此处输出换行符\n,[EOF]代表数据输出结束,可以不用理会

提示

题目来源

无 

#include <iostream>#include <vector>#include <string>#include <sstream>#include <algorithm>using namespace std;bool cmp(string a,string b){    int m=a.length();    int n=b.length();    if(m!=n) return m<n;    else return a>b;}vector<string> dict;int main(){    string s,buf;    while(getline(cin,s)){        stringstream ss(s);        while(ss>>buf) dict.push_back(buf);        int n=dict.size();        sort(dict.begin(),dict.end(),cmp);        cout<<dict[n-1]<<"\n";        dict.clear();    }    return 0;}


原创粉丝点击