70,020
社区成员




#include <stdio.h>
void longest(char* str)
{
int i = 0;
int j = 0;
int len = 0;
int d = 0;
int length = strlen(str);
for (i = 0; i < length; i++)
{
j = 0;
while ((str[i + j] != ' ') && (i + j <= length - 1))
{
j++;
}
if(len < j)
{
len = j;
d = i;
}
if( i + j > length - 1)
{
break;
}
}
for (i = d; i < d + len; i++ )
{
printf("%c", str[i]);
}
printf("\n");
}
int main()
{
char test[80];
gets(test);
longest(test);
system("pause");
}
按你的思路,是这样的吧#include <stdio.h>
#include <stdlib.h>
void longest(char *a)
{
int i=0,pos = 0,len=0,len_max=0;
for(i=0;i<strlen(a);i++)
{
if(a[i] != ' ')
len++;
else
{
if(len > len_max)
{
len_max = len;
pos = i-len;
}
len=0;
}
}
for(i=pos;i<pos+len_max;i++)
printf("%c",a[i]);
printf("\n");
}
void main()
{
char *haha = "wo cao ni tamade da sao bi";
longest(haha);
}