美文网首页
043:最长最短单词

043:最长最短单词

作者: Lyn谷神不死 | 来源:发表于2018-01-24 15:48 被阅读0次

043:最长最短单词
总时间限制: 1000ms 内存限制: 65536kB
描述
输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。

试输出第1个最长的单词和第1个最短单词。

输入
一行句子。
输出
两行输出:
第1行,第一个最长的单词。
第2行,第一个最短的单词。
样例输入
I am studying Programming language C in Peking University
样例输出
Programming
I
提示
如果所有单词长度相同,那么第一个单词既是最长单词也是最短单词
代码

#include <iostream>
#include<cstring>
using namespace std;

int main(){
    char s[20000];
    int i=0,j=0; //j用来记录每个单词的长度
    int max=0,min=200;
    int n,m,t,maxbegin,minbegin;
    cin.getline(s,20000);
    t=strlen(s);
    while(s[i]!='\0')//遍历字符串 
    {
        if((s[i]!=' ')&&(i!=t-1)){j++;}//字符有三种情况:1非空格且非末尾 
        if(s[i]==' '){
           n=j;
           m=i-j;
           if(n>max){max=n;maxbegin=m;}
           if(n<min){min=n;minbegin=m;}
           j=0;}//2空格,遇到空格则切断并标记单词长度和起始位置,并将单词长度j置零 
        if(i==t-1){
           j++;
           n=j;
           m=i-j+1;
           if(n>max){max=n;maxbegin=m;}
           if(n<min){min=n;minbegin=m;}
           j=0;}//3末尾,遇到末尾则切断并标记单词长度和起始位置 
        i++;
    }
    for(int k=maxbegin;k<max+maxbegin;k++){
        cout<<s[k];
    }
    cout<<endl;
    for(int l=minbegin;l<min+minbegin;l++){
    cout<<s[l];
    }
    return 0;
}

注意:1.计算每个单词长度有两种方式,一是记录间隔位置,然后相减,但需要将字符串头尾各加一个空格,不然头尾容易出错;
二是直接记录单词长度,遇到空格或末尾的间隔,就重新记录长度;
2.直接记录单词长度,到最后一个字符时会有不同;
3.注意是i=strlen(s)-1,不是s[i]=strlen(s)-1;
4.运行时要关闭之前的运行窗口,不然会出错;
5.注意if(){}格式要完整。

相关文章

  • 043:最长最短单词

    043:最长最短单词总时间限制: 1000ms 内存限制: 65536kB描述输入1行句子(不多于200个单词,每...

  • 最长最短单词

    描述 输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字...

  • 英文小知识

    【6个有趣的英文小知识】 你知道英文最长的单词是什么吗? 你知道英语最短的完整句子是什么吗? 你知道拼错的单词我们...

  • 2018-12-22

    白昼最短,思念最长。

  • Design & Coed 2: 找出最长单词

    找出最长单词 Find the Longest Word in a String 找出最长单词 在句子中找出最长的...

  • 冬至安好

    冬至日,白天最短,思念最长。

  • 最长与最短

    公司为了庆贺成立5周年,举办了一场别开生面的娱乐活动。 其中,有个脑筋急转弯环节,主持人提问到"你认为...

  • 一个冬至

    今天的白天最短 今夜的思念最长

  • 冬至(二)

    冬至 在这最长的夜里做最短的梦

  • mting.白天最短,黑夜最长的一天……

    冬至:白天最短,黑夜最长的一天……

网友评论

      本文标题:043:最长最短单词

      本文链接:https://www.haomeiwen.com/subject/xizqaxtx.html