两天了。。。还是不完美。。。求助。。
#include <stdio.h>#include <math.h>
#include <string.h>
int fh(char c)
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
return(1);
else
return(0);
}
int longzf(char b[80])
{
int i,kg=1,cd=0,cd1=0,dz=0,dz1=0;
for(i=0;b[i]!='\n';i++)
{
if(fh(b[i]))
{
if(kg==1)
{
dz=i;
kg=0;
}
else
cd++;
}
else
{
kg=1;
if(cd>cd1)
{
cd1=cd;
cd=0;
dz1=dz;
}
}
}
return(dz1);
}
void main()
{
char a[80];
int i;
gets(a);
for(i=longzf(a);fh(a[i]);i++)
printf("%c",a[i]);
printf("\n");
}
目的求一串字符中最长的单词,运行的不完美,当相同长度的单词或者相同的单词过多 输出的结果变成了Actx....
请高手给我说说原因。。。好象是第一个单词最长了就会这样
[ 本帖最后由 hywhll888 于 2011-7-10 20:13 编辑 ]