问题标题: 酷町堂:4012

0
0
已解决
李智宸
李智宸
高级守护
高级守护

4012   查找最大最小单词

经验值:800 时间限制:1000毫秒

题目描述 Description

给出一个句子,句子中的每个单词间用一个空格隔开,每个单词仅包含字母(大写或小写),请你求出这个句子中字典序最大和最小的一个单词,如果有相同单词,仅输出一个即可。

输入描述 Input Description

第一行,一个字符串,仅包含空格和字母,每个单词间用一个空格隔开

输出描述 Output Description

一行,该句子中字典序最大和最小的一个单词,用一个空格隔开

样例输入 Sample Input

I have a Dream

样例输出 Sample Output

have Dream


0
已采纳
被禁言 张皓轩
张皓轩
中级光能
中级光能
核心:
getline(cin,a);
    int xb=0;
    a=" "+a+" ";
    for(int i=0;i<a.size();i++){
        if(a[i]!=' '&&a[i-1]==' '){
            xb=i;
        }
        if(a[i]!=' '&&(i+1==a.size()||a[i+1]==' ')){
            string s3=a.substr(xb,i-xb+1);
            s1=s3;
            s2=s3;
            break;
        }
    }
    for(int i=0;i<a.size();i++){
        if(a[i]!=' '&&a[i-1]==' '){
            xb=i;
        }
        if(a[i]!=' '&&(i+1==a.size()||a[i+1]==' ')){
            string s3=a.substr(xb,i-xb+1);
            if(s3>s1){
                s1=s3;
            }
            if(s3<s2){
                s2=s3;
            }
        }
    }
    cout<<s1<<" "<<s2;
定义:
string a,s1,s2;
头文件:
#include<iostream>
#include<string>

 

我要回答