#include
void main()
{
char line[100],middle[100],max[100];/*max记录最长单词*/
int i=0,j=0,k=0,m=0,n=0;
gets(line);
for(i=0;i<100;i++)
{
middle[i]='\0';/*max和middle都初始化为空字符*/
max[i]='\0';
}
i=0;
while(line[i]!='\0')
{
if(line[i]!=' ')
{
middle[j]=line[i];
j++;
}
if(j>n)/*如果j>n说明middle记录的单词长度超过max*/
{
for(m=0;m<=j-1;m++)
max[m]=middle[m];
n=j;
}
if(line[i]==' ')/*如果碰到空格说明后面又有新的单词,middle字符数组重新初始化,准备记录新的单词*/
{
for(k=0;k<100;k++)
middle[k]='\0';
j=0;
}
i++;
}
for(k=0;max[k]!='\0';k++)
printf("%c",max[k]);
printf("\n");
}
#include
#include
void main()
{
int maxLen = 0;
char *maxStr;
char *token;
char seps[] = " ,\t\n"; /* 单词分隔符 */
char line[100];
printf("please input a line word:");
gets(line);
token = strtok(line ,seps); /* 利用分隔符来划分单词 */
while (token != NULL)
{
if ( strlen(token) > maxLen )
{
maxLen = strlen(token);
maxStr = token;
}
token = strtok(NULL ,seps);
}
if ( maxLen > 0 )
{
printf("The longest is:%s\n", maxStr);
}
else
{
printf("There is no words.\n");
}
}
#include
#include
#define BUFSIZE 64
int main()
{
char buf[BUFSIZE];
char szLongest[BUFSIZE];
char* p;
char c;
while(1)
{
p = buf;
while((c = getchar()) != ' ' && c != '\n')
*p++ = c;
if(strlen(szLongest) < strlen(buf))
strcpy(szLongest, buf);
if(c == '\n')
break;
memset(buf, 0, BUFSIZE);
}
printf("The word with longest length is: %s", szLongest);
}
#include
#include
void main()
{
char s[100],c;
int i=0,j=0,flg=0,m=0,count=0,start=0,tmp;
gets(s);
j=strlen(s);
while(i
if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z')
{
if(flg==0){flg=1;tmp=i;}
m++;
}
else
{m=0;flg=0;}
if(m>count){count=m;start=tmp;}
i++;
}
for(i=0;i
printf("\n");
}