找最长单词的程序
程序代码://编写一个程序,输入一行字符,将此字符中最长的单词输出
//flag表示单词是否开始,flag=0表示未开始,flag=1表示单词已经开始
//len表示单词已累计的字母个数
//length代表当前单词中最长单词的长度
//point代表当前单词的起始位置(用下标表示)
//place代表最长单词的起始位置
//函数alphabetic的作用是判断当前字符是否为字符,若是返回1,不是返回0
#include<stdio.h>
#include<string.h>
void main()
{
int alphabetic(char);
int longest(char[]);
int i;
char line[100];
printf("input one line:\n");
gets(line);
printf("The longest word is :\n");
for(i=longest(line);alphabetic(line[i]);i++)
printf("%c",line[i]);
printf("\n");
}
int alphabetic (char c)
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
return(1);
else
return(0);
}
int longest(char string[])
{
int len=0,i,length=0,flag=1,place=0,point;
for(i=0;i<=strlen(string);i++)
if(alphabetic(string[i]))
if(flag)
{
point=i;
flag=0;
}
else
len++;
else
{
flag=1;
if(len>=length)
{
length=len;
place=point;
len=0;
}
}
return (place);
}







看不懂啊!