编写一个函数,输入一行字符,将此字符串中最长的单词输出。
输入仅一行,多个单词,每个单词间用一个空格隔开。单词仅由小写字母组成。所有单词的长度和不超过100000。如有多个最长单词,输出最先出现的。
样例输入
I am a student
样例输出
student
#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; }
这道题的参考价值是输入一串字符串怎么处理