c语言答案

编程在一个已知的字符串中查找最长单词假定字符串中指含字母和空格,空格用来分隔不同单词... 编程在一个已知的字符串中查找最长单词假定字符串中指含字母和空格,空格用来分隔不同单词 展开
 我来答
雾霜瞳
2009-06-14 · 超过14用户采纳过TA的回答
知道答主
回答量:55
采纳率:100%
帮助的人:0
展开全部
#include<stdio.h>
#include<string.h>
int letter(char c)
{
if(c>='a' && c<='z'|| c>='A' && c<='Z')
{
return(1);
}
else
{
return(0);
}
}
int longest(char string[])
{
int point,flag=1,len=0,lenth=0,place=0,i;
for(i=0;i<=strlen(string);i++)
{
if(letter(string[i]))
{
if(flag)
{
point=i;
flag=0;
}
else
{
len++;
}
}
else
{
flag=1;
if(len>lenth)
{
lenth=len;
place=point;
len=0;
}
}
}
return(place);
}
void main()
{
int i;
char str[100];
printf("input one line\n");
gets(str);
printf("the longest words is:");
for(i=longest(str);letter(str[i]);i++)
{
printf("%c",str[i]);
}
printf("\n");
}
你看看吧,就这个了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhoukun44444
2009-06-14 · TA获得超过171个赞
知道答主
回答量:71
采纳率:0%
帮助的人:75万
展开全部
int MaxWord(char *str)
{
int i=0;
int MaxWordPos=0;
int MaxWordLen=0;
int curwordlen=0;
int curwordpos=0;
while(*str!='\0')
{
if (*str==32)
{
curwordpos=i-curwordlen;

if (MaxWordLen<curwordlen)
{
MaxWordLen=curwordlen;
MaxWordPos=curwordpos;
}
curwordlen=0;
}
else
{
curwordlen++;
}
str++;
i++;
}
curwordpos=i-curwordlen;
if (MaxWordLen<curwordlen)
{
MaxWordLen=curwordlen;
MaxWordPos=curwordpos;
}
return (MaxWordPos);
}

void PrintWord(char *str,int pos)
{

str+=pos;
while ((*str!=32)&&(*str!='\0'))
{
printf("%c",*str);
str++;
}
}

int main()
{

char str[100];
printf("input one line\n:");
gets(str);
printf("the longest words is:");
PrintWord(str,MaxWord(str));
printf("\n");
return (0);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0b7e35008
2009-06-14 · 贡献了超过274个回答
知道答主
回答量:274
采纳率:0%
帮助的人:0
展开全部
a
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式