/*
main.m
测试试07
7、 在一个已知的字符串中查找最长单词,
假定字符串中只含字母和空格,空格用来分隔不同单词。(C语言)
*/
# include <stdio.h>
# include <string.h>
# define LEN 1000
# define N 256
void f(char *s)
{
int i = 0, j = 0, k = 0, t = 0;
char str[N],ss[N]; //定义两个字符数组用来比较,
for(i = 0; s[i]; i++)
{
if(' ' == s[i]) //
{
str[k] = '\0';
if(' ' == str[0])
{
for(t = 0; str[t]; t++) //如果首位为空格,数组向左移
{
str[t] = str[t+1];
}
str[t] = '\0';
}
if(strlen(str) > j)
{
strcpy(ss, str);
j = (int)strlen(str);
}
strcpy(str,"");
k = 0;
i++;
}
str[k] = s[i];
k++;
}
strcpy(s, ss);
}
int main(void)
{
char s[LEN] = " apple banana 黑马程序员 orange ";
f(s);
printf("字符串中最长的单词是:%s\n", s);
return 0;
}
|
|