| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 807 人关注过本帖
标题:等待解决
只看楼主 加入收藏
凌晨
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2004-9-22
收藏
 问题点数:0 回复次数:9 
等待解决

写一函数,输入一行字符,将此字符串中最长的单词输出。

搜索更多相关主题的帖子: 字符串 单词 
2004-10-13 15:26
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
收藏
得分:0 
等待谁解决???

差点把你忘了...
2004-10-13 16:09
凌晨
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2004-9-22
收藏
得分:0 
以下是引用天使预备役在2004-10-13 16:09:34的发言: 等待谁解决???


我喜欢充实的感觉,在黑夜与白天的交界处,有我与你一起进取,此生足矣!……
2004-10-13 16:23
凌晨
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2004-9-22
收藏
得分:0 

不好意思,网站出错,我想说的是:谁有能力就谁解决,这不用多说了吧!


我喜欢充实的感觉,在黑夜与白天的交界处,有我与你一起进取,此生足矣!……
2004-10-13 16:37
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
收藏
得分:0 

这可不是一个简单的小程序!!!

我认为必须有库的,不然谁知道那个是单词不是么,只是这个就够人受的了!!

其实也就只是有这么一个难点(如果说不在意界面友好)!!


差点把你忘了...
2004-10-13 17:08
乌鸦丘比特
Rank: 1
等 级:新手上路
威 望:2
帖 子:625
专家分:0
注 册:2004-7-19
收藏
得分:0 

我想楼主要求的没这么难,

我想楼主指的单词就是用空格格开的字符子串,是吗?

还是天使说的那样?


我喜欢创造,一只扑腾着翅膀向天空飞翔的乌鸦
2004-10-13 17:23
凌晨
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2004-9-22
收藏
得分:0 
乌鸦说的与老师说的一样,但我想知道为什么用空格格开的字符子串就是一个单词,是一种规定来的吗?如果是又如何解决?

我喜欢充实的感觉,在黑夜与白天的交界处,有我与你一起进取,此生足矣!……
2004-10-14 15:45
乌鸦丘比特
Rank: 1
等 级:新手上路
威 望:2
帖 子:625
专家分:0
注 册:2004-7-19
收藏
得分:0 

英文习惯用空格格开单词,

如果是解决就比较容易了,只要通过顺序扫描字符串,用一个辅助指针记录目前的最长单词。

最后再按指针返回单词就可以了


我喜欢创造,一只扑腾着翅膀向天空飞翔的乌鸦
2004-10-14 17:30
liang30890136
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2004-9-29
收藏
得分:0 
对呀,又分不出字符串里什么是单词!
2004-10-15 20:57
weixiaohe
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2004-8-6
收藏
得分:0 

#include"stdio.h" #include"string.h" main() { char st1[100],*p=st1; void max(char *); printf("请输入字符串\n"); while((*p=getchar())!='\n') p++; *p='\0'; max(st1); } void max(char *p) { char st1[100][100]; int i=0,j=0,y=0,n=0,m=0,z[100]; while(*p!='\0') { if(*p==' ') { st1[i][j]='\0'; j=0; p++; i++; } else if(*p==',') {st1[i][j]='\0'; j=0; p++; i++; } else if(*p=='.') {st1[i][j]='\0'; j=0; p++; i++; } else { st1[i][j]=*p; j++; p++; } } st1[i][j]='\0'; y=strlen(st1[0]); for(j=1;j<=i;j++) { if(y<strlen(st1[j])) { y=strlen(st1[j]); n=j; } else if(y==strlen(st1[j])) do { z[m]=j; m++; }while(!m); } printf("%s\n",st1[n]); if(strlen(st1[n])==strlen(st1[z[0]])) for(--m;m>=0;m--) printf("%s\n",st1[z[m]]);

}

上边的就是的,

假如abc=3个字符,cde=3字符,他们都输出,你要输出最大的,最大相等也输出,

[此贴子已经被作者于2004-10-18 01:11:29编辑过]

2004-10-18 00:36
快速回复:等待解决
数据加载中...
 
   



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

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