输入一行文字,找出其中的最长单词并输出。
要求:
a)用指针实现。
b)字符串若有多个最长单词,输出第一个。
c)字符串长度不超过100个字符。
d)规定连续的字母(大小写都行)构成的字符串为单词,字母以外的其他符号视为分隔符。
#include<stdio.h>
int main()
{
char s[101];
char *pa=s,*begin=s,*end=s;
int len=0;//len为当前单词的长度
//输入
printf("请输入一行文字:");
gets(s);
//遍历
for(pa=s;*pa!='\0';pa++)
{
len++;
if(!((*pa>='a'&&*pa<='z')||(*pa>='A'&&*pa<='Z')))//单词结束时长度清零
len=0;
else if(len>end-begin)//发现更长的单词时记录其首尾地址
{
begin=pa-len+1;
end=pa;
}
}
//输出
for(pa=begin;pa<=end;pa++)
{
printf("%c",*pa);
}
return 0;
}