|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
不明白的地方是最后一个else里 len =0为什么写在if里,不管新单词长度是不是比当前最长的长,len应该都归0啊我觉得。
#include <stdio.h>
#include <math.h>
#include <string.h>
char *gets (char *str);
int main(void)
{ int alphabetic (char);
int longest(char []);
int i;
char line[100];
gets(line);
for (i = longest(line); alphabetic(line[i]);i++)
printf("%c",line[i]);
}
int alphabetic (char c)
{
if ((c>='a' && c<='z')||(c>='A' && c<='Z'))
return 1;
else
return 0;
}
int longest(char str[])
{int len = 0,length = 0, flag = 1, place = 0, point,i;
for (i = 0; i<strlen(str);i++)
if (alphabetic(str[i]))
if (flag)
{point = i;
flag = 0;}
else
len++;
else
{
flag=1;
if (len>=length)
{length = len;
place = point;
len = 0;}
}
return place;
}
|
|