免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1397 | 回复: 9
打印 上一主题 下一主题

问一个小问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-10-15 16:26 |只看该作者 |倒序浏览
有一个字符串,比如AAA BBB CCC DDD ....由N个单词组成,前后可能都有空格,词与词之间可能有不确定空格,现在我想将这个串的单词个数统计出来,并将AAA,BBB...顺序放入字符串数组STRING[][]中,请问这个1.这种情况有没有函数可以用2.如果没有函数怎么用C实现3.这有模块可以调用吗?

[ 本帖最后由 bihaichao 于 2006-10-15 16:31 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-10-15 16:41 |只看该作者
先把字符串存入一个数组,然后对这个数组进行字典顺序排序(建议用快速排序),由于相同的词都排到了一起,最后统计一下就OK了!

论坛徽章:
0
3 [报告]
发表于 2006-10-15 16:47 |只看该作者
楼上的能说的详细点吗!另外这个能达到把AAA BBB ...顺序放入STRING的目的吗?

论坛徽章:
0
4 [报告]
发表于 2006-10-15 16:48 |只看该作者
数据结构讲这个问题的

论坛徽章:
0
5 [报告]
发表于 2006-10-15 16:55 |只看该作者
写个程序找出题目要求的那种顺序A(文章顺序),用刚才说的方法统计出的顺序B(按字典顺序的可能不是要求的顺序!)
在B中找A对应的项的值就可以了~!

论坛徽章:
0
6 [报告]
发表于 2006-10-15 23:26 |只看该作者
晕   研究生入学考试 常考的

论坛徽章:
0
7 [报告]
发表于 2006-10-15 23:52 |只看该作者

  1. #! /usr/bin/perl
  2. use warnings;
  3. use strict;

  4. my $string = 'AAAA BBBB CCCC DDDD EEEE FFFF ... ';
  5. my @words = split(/\s+/, $string);

  6. my %count;
  7. foreach my $str (@words) {
  8.         if (defined($count{$str})) { $count{$str}++ }
  9.         else { $count{$str} = 1 }
  10. }
复制代码


怕伤脑筋, 搞不懂 C 的说

论坛徽章:
0
8 [报告]
发表于 2006-10-18 11:37 |只看该作者
是用PERL实现的吗?没有研究过,可以用C实现吗?

论坛徽章:
0
9 [报告]
发表于 2006-10-18 13:21 |只看该作者
当然可以,不是很难,你自己去做吧~
不自己动手有些问题很难发现的,
当你发现问题解决不了时再贴上来大家一起讨论,这样你才能真正明白!

论坛徽章:
0
10 [报告]
发表于 2006-10-18 15:11 |只看该作者
简单实现:

  1. #include <string.h>
  2. #include <stdio.h>

  3. int main()
  4. {
  5.         const char * delim = " \n";
  6.         char s[] = "AA BBB CCC DEF AD";
  7.         char *p = NULL;

  8.         p = strtok(s, delim);
  9.         int i = 0;
  10.         for (i = 0; p != NULL; i++) {
  11.                 printf("p = %s\n", p);
  12.                 /* push链表 */
  13.                 p = strtok(NULL, delim);
  14.         }

  15.         printf("counts = %d\n", i);
  16.         /* 链表排序 */

  17.         return 0;
  18. }
复制代码

自己实现一个链表和链表排序的算法,如果用C++就有现成的了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP