编程在一个已知字符串中查找最长单词。假定字符串中只含有字母和空格,空格用来分
编程在一个已知字符串中查找最长单词。假定字符串中只含有字母和空格,空格用来分割不同单词。
.....................................
有没有最简单的写法啊?前面的答案全是指针的,或者就是一串串看不懂的东西.求最简单的C++编法啊?小弟我只是一个最最初学者啊?而且只懂一些最基本的,还处于入门级别。救急啊。。。。。。。。。。。。。
// VC6.0 编译运行通过兆唯信
//没族轮用指针, 是数组, 应该没问题吧
//字符串中的单词可以用多个空格隔开。
# 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 = strlen(str);
}
strcpy(str,"");
k=0;
i++;
}
str[k] = s[i];
k++;
}
strcpy(s, ss);
}
int main(void)
{
char s[LEN] = " abcde abcdefghijklmnopqrstuvwxyz re mmtr stremd sgrmoremssss rms";
f(s);
printf("字符串中最长的单词是:%s\n", s);
return 0;
}
好的