11 | 求英文句子中的最长单词(基础)
作者:互联网
题目描述
一个英文句子(长度不超过255),只含有字母和空格,输出最长的一个单词。如有多个长度相同的单词,则输出最前面的一个。
输入
一个字符串。
输出
一个字符串。
样例
输入
in which four coins
输出
which
#include <bits/stdc++.h>
using namespace std;
int main(){
/*
第一步:分解并输出每个单词
第二步:通过打擂台的方法,找到最长的单词
*/
char s[300],w[100];
char r[100]={'\0'};//存放最长的单词
int i,k; // k 表示w数组 的下标
gets(s);
k=0;
//循环每个字符
for(i=0;i<strlen(s);i++){
// 如果当前字符不是空格,则一定是单词的一部分
if(s[i]!=' '){
w[k]=s[i];
k++;
//没存入一个字符都要判断一下,单词是否结束
if(s[i+1]==' '|| s[i+1]=='\0'){
//存储单词数组结束的标记
w[k]='\0';
//cout<<w<<endl; //输出测试
if(strlen(w)>strlen(r)){
strcpy(r,w);
}
//清空w
k=0;
}
}
}
cout<<r<<endl;
getchar();
getchar();
}
思考
如果是找到最短的单词,那么直接覆盖就可以了。不用比较。
标签:11,输出,char,int,句子,单词,100,最长 来源: https://www.cnblogs.com/mmxingye/p/16366752.html