【题目描述】
一个以‘.’结尾的简单英文句子,单词之间用空格分隔,没有缩写形式和其它特殊形式,判断最长单词并输出。
【输入输出样例】
输入:
I am a student of Peking University.
输出:
University
【解题技巧】
注意判断每个单词长度,然后打擂台判断最大值,并备份其首和尾,最后输出
【最长单词】
#include<bits/stdc++.h>
#include<iostream>
#include<cstdio>
#include<cstring>
#include<iomanip>
#include<cmath>
#include<algorithm>
#include<vector>
#include<map>
#include<set>
#include<queue>
using namespace std;
char st[600];
int main(){
int len,cnt=0,max=0,max_op;
gets(st);//输入字符串
len=strlen(st);//字符串长度判断
for(int i=0;i<len;i++){//逐个判断
if(st[i]!=' '&&st[i]!='.')cnt++;//每个单词id多一
else{
if(cnt>max){
max=cnt;
max_op=i-cnt;
}//每次把最多的存入max组合中,头是max,尾是max_op
cnt=0;
}
}
for(int i=max_op;i<max_op+max;i++)cout<<st[i];//输出
return 0;
}
//♂_The_LYH_25_♂
***一本通里面好像不可以用gets,你拿过去可以稍微改一下,不然交不了。