枚举--最长单词--蓝桥杯

  编写一个函数,输入一行字符,将此字符串中最长的单词输出。
  输入仅一行,多个单词,每个单词间用一个空格隔开。单词仅由小写字母组成。所有单词的长度和不超过100000。如有多个最长单词,输出最先出现的。
样例输入
I am a student
样例输出
student
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
#include <string.h>
 
using namespace std;
int main()
{
    char a[100000];
    int j;
    int t;
    int c;
    int max=0;
    int i=0;
    int k=0;
    j=0;
   gets(a);
   //printf("%s",a);
   k=strlen(a);
   //cout<<k;
    for(i=0;i<k;i++)
    {
        if(a[i]==' '||i==k-1)
        {
            c=i-j;
            j=i+1;
            if(c>max)
            {
              max=c;
              t=i; 
            }
        }
    }
    for(int x=t-max;x<=t;x++)
    {
        cout<<a[x];
    }
    cout<<endl;
    return 0;
}

  这道题的参考价值是输入一串字符串怎么处理

posted @   原来你还在这里e  阅读(359)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示