找出最长单词
不明白的地方是最后一个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;
gets(line);
for (i = longest(line); alphabetic(line);i++)
printf("%c",line);
}
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))
if (flag)
{point = i;
flag = 0;}
else
len++;
else
{
flag=1;
if (len>=length)
{length = len;
place = point;
len = 0;}
}
return place;
}
if (len>=length)
{length = len;
place = point;
}
len = 0; 这样放在外面 结果也是一样的 jackz007 发表于 2022-12-2 12:54
编译运行实况:
找出最长单词,不是数字,而且我的是书上的代码,我只是不理解那一句 我不明白的地方是最后一个else里 len =0为什么写在if里,不管新单词长度是不是比当前最长的长,len应该都归0啊我觉得。不是说我需要一个新代码,想要理解答案的意思。 kevinde2022 发表于 2022-12-2 13:57
我不明白的地方是最后一个else里 len =0为什么写在if里,不管新单词长度是不是比当前最长的长,len应该都归 ...
相信自己
你差的就是个样例
aaa aa aaaa aaaaaa jhq999 发表于 2022-12-2 15:17
相信自己
你差的就是个样例
aaa aa aaaa aaaaaa
哈 我的感觉就是答案是不是错了,但是运行又没有问题。。。
页:
[1]