试题描述
编写一个函数maxword,输入一行英文,将此字符串中最长的英文单词输出。若最长的英文单词有多个,则输出第一个。
注意:不要改变函数名称,注意大小写敏感。
输入
输入一行英文,英文单词由空格隔开。已知至少输入一个英文单词,且最后一个英文单词后紧跟回车输入。
输出
输出最长的英文单词。若最长的英文单词有多个,则输出第一个。
输入示例
I am a student
输出示例
student
数据范围
对于100%的数据,输入字符串的长度 <= 1000
#include <stdio.h>
int main(){
char a[1][1001];
gets(a[0]);
maxword(a);
return 0;
}
int maxword(char array[1][1001]){
int i,l=0,max=0,x;
char *p1,*p2;
char b[1001];
for (i=0;array[0][i]!='\0';i++){
if (array[0][i]!=' ') l+=1;
else l=0;
if (l>max) {x=i-max;max=l;}
}
p1=array;
for(i=0;i<x;i++,p1++);
p2=b;
for (i=0;i<max;i++,p1++,p2++)
*p2=*p1;
*p2='\0';
puts(b);
}