c++活泼虾 2022-12-25 10:24 采纳率: 66.7%
浏览 61
已结题

2444 - 最长最短单词

2444 - 最长最短单词
题目描述
输入一行长度不超过250位的字符串,其中只有小写字母和空格,小写字母组成单词,单词之间只用一个空格隔开,字符串的开始和结束都没有多余空格,输出长度最长的单词和最短的单词,若有多个单词符合要求,只要求输出从前往后数第一个满足要求的单词。

输入
输入文件只有一行字符串,由小写字母和空格组成。

输出
输出文件有两行,第一行为最长的单词,第二行为最短的单词。

样例
输入
this is my book
输出
this
is
标签
字符串

#include<bits/stdc++.h>
using namespace std;
int main() {
    string a;
    int i,len,l=0,max=0,min=101,x,y;
    getline(cin,a);
    len=a.size();
    a[len]=' ';
    for(i=0; i<=len; i++) {
        if(a[i]!=' '&&a[i]!=',') {
            l++;
        } else if(l>0) {
            if(l>max) {
                max=l;
                x=i-l;
            }
            if(l<min) {
                min=l;
                y=i-l;
            }
            l=0;
        }
    }
    for(i=x; i<max+x; i++)
        cout<<a[i];
    cout<<endl;
    for(i=y; i<min+y; i++)
        cout<<a[i];
    return 0;
}

测试点1: Accepted, 用时: 0 ms, 内存: 256 KB
测试点2: Accepted, 用时: 0 ms, 内存: 256 KB
测试点3: Accepted, 用时: 0 ms, 内存: 256 KB
测试点4: Accepted, 用时: 0 ms, 内存: 256 KB
测试点5: Accepted, 用时: 0 ms, 内存: 252 KB
测试点6: Accepted, 用时: 0 ms, 内存: 252 KB
测试点7: Wrong Answer, 用时: 0 ms, 内存: 256 KB
各位朋友,帮我看一下这个代码哪里错了!

  • 写回答

1条回答 默认 最新

  • 今夕何夕2112 2022-12-25 12:07
    关注

    可能是min初始值太小了,min=251;试试?(不确定)

    (string a,完全可以改成char a[252]={0};然后读取是cin.getline(a,250);len=strlen(a);或者不求len,算到a[i]==0就是到最后了;其他不变)
    (...&& a[i]!= ',' 好像没用?题目提到输入只包含小写字母和空格)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    1人已打赏

报告相同问题?

问题事件

  • 系统已结题 1月2日
  • 已采纳回答 12月25日
  • 创建了问题 12月25日

悬赏问题

  • ¥50 求解vmware的网络模式问题 别拿AI回答
  • ¥24 EFS加密后,在同一台电脑解密出错,证书界面找不到对应指纹的证书,未备份证书,求在原电脑解密的方法,可行即采纳
  • ¥15 springboot 3.0 实现Security 6.x版本集成
  • ¥15 PHP-8.1 镜像无法用dockerfile里的CMD命令启动 只能进入容器启动,如何解决?(操作系统-ubuntu)
  • ¥30 请帮我解决一下下面六个代码
  • ¥15 关于资源监视工具的e-care有知道的嘛
  • ¥35 MIMO天线稀疏阵列排布问题
  • ¥60 用visual studio编写程序,利用间接平差求解水准网
  • ¥15 Llama如何调用shell或者Python
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?