当前位置: 代码迷 >> C语言 >> [求助]请教下这个题怎么写,找出最长的单词?
  详细解决方案

[求助]请教下这个题怎么写,找出最长的单词?

热度:115   发布时间:2006-06-11 15:05:32.0
[求助]请教下这个题怎么写,找出最长的单词?

写一个函数,输入一行字符 ,将此字符串中最长的单词输出
这题怎么写??

有人知道吗?

搜索更多相关的解决方案: 单词  

----------------解决方案--------------------------------------------------------

如何确定一个字符串是不是单词我还不知道。


----------------解决方案--------------------------------------------------------

你知道不知道?

[此贴子已经被作者于2006-6-11 15:17:21编辑过]


----------------解决方案--------------------------------------------------------

知道是最长的那个后。。然后输出那个最长的字符串不就好了嘛?


----------------解决方案--------------------------------------------------------

只能提供下思路、用循环遍历字符串,找出两个空格之间长度最大的然后输出。


----------------解决方案--------------------------------------------------------
如果这句子是以下这种情况呢?
I am a boy.specially I like swim.
----------------解决方案--------------------------------------------------------
#include "stdio.h"
#include "conio.h"
#include "ctype.h"
main()
{
char s[100]="dalfdjjdj dkjfkdsjfakjfd jdfl";
char *p=s;
int a[20]={0},b[20],i=0,j,maxb=0,pos;
clrscr();
while(*p)
{
if(isspace(*p)||ispunct(*p))
a[i++]=p-s;
p++;
}
for(j=1;j<i;j++)
b[j-1]=a[j]-a[j-1];
for(i=0;i<j-1;i++)
if(maxb<b[i])
{
maxb=b[i];
pos=i;
}
for(j=a[pos]+1;j<a[pos+1];j++)
putchar(s[j]);
getch();
}
您测试一下看看,找找bug
----------------解决方案--------------------------------------------------------

#include <stdio.h> /* 输出字符串中最长的单词 */
#include <string.h>
#include <stdlib.h>

#define MAXSIZE 80

int main(void)
{
char string[MAXSIZE], longest_word[MAXSIZE];
int liv_a, i, word_len, cur_len;

printf("Enter string:\n");
for (word_len = 0, cur_len = 0, i = 0; i < MAXSIZE - 1; i++)
{
liv_a = getchar();
if (liv_a == '\n')
{
break;
}
if (liv_a != ' ')
{
string[cur_len++] = liv_a;
}
else if(cur_len == word_len || cur_len < word_len)
{
cur_len = 0;
}
else
{
if (cur_len > word_len)
{
string[cur_len] = '\0';
word_len = cur_len;
strcpy(longest_word, string);
cur_len = 0;
}
}
}

if (liv_a == '\n' && cur_len > word_len)
{
string[cur_len] = '\0';
strcpy(longest_word, string);
}

printf("longest_word = %s\n", longest_word);

exit(0);
}


----------------解决方案--------------------------------------------------------
  相关解决方案