| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 600 人关注过本帖
标题:对于有求字符串中最长单词,问题,若有并列怎么处理了?
只看楼主 加入收藏
WD312475507
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-10-25
收藏
 问题点数:0 回复次数:6 
对于有求字符串中最长单词,问题,若有并列怎么处理了?
#include<stdio.h>
#include<string.h>
int main()
{int alp(char);
int longest(char[]);
int i;
char line[100];
printf("请输入");
gets(line);
printf("最长的是");
for(i=longest(line);alp(line[i]);i++)
printf("%c",line[i]);
return 0;
}
int alp(char c)
{if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
    return 1;
else
return 0;
}
int longest(char string[])
{int len=0,length=0,i,flag=1,place=0,point;
for(i=0;i<=strlen(string);i++)
if(alp(string[i]))
if(flag)
{point=i;
flag=0;}
else
len++;
else{flag=1;if(len>=length)
{length=len;place=point;len=0;}}
return(place);}
搜索更多相关主题的帖子: 单词 include return 字符串 
2013-03-30 11:54
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
所谓 “并列”是什么么意思?

能举个例子么?


[fly]存在即是合理[/fly]
2013-03-30 11:56
WD312475507
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-10-25
收藏
得分:0 
就是你输入 abcd adce 长度相同,但是他只输出了后面的 ,谢谢
2013-03-30 12:03
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
你是说要两个都输出?还是只输出前面的?


[fly]存在即是合理[/fly]
2013-03-30 12:04
WD312475507
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-10-25
收藏
得分:0 
回复 4楼 azzbcc
俩个都出来
2013-03-30 12:07
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
你的函数只能返回一个值,因为是从前往后算,所以前面的结果被覆盖了

最好换个思路吧,先求出最长的长度,在把这个长度的单词输出


[fly]存在即是合理[/fly]
2013-03-30 12:14
WD312475507
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-10-25
收藏
得分:0 
我试试
2013-03-30 13:05
快速回复:对于有求字符串中最长单词,问题,若有并列怎么处理了?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.045344 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved