程序,以查找段中每个单词的计数

时间:2011-01-31 20:51:16

标签: c

我试图找到一个段落中每个单词的计数,但我无法完成它...

所以任何人都可以告诉我该怎么做..

示例输入----

Hi stack over flow is a good forum.There will be many experts in stack overflow .

输出中 -

Hi---1
stack-2
overflow-2
is---1
a---1
good---1

...
...

这样我想得到输出。

这是我的代码......但它并不完整......之后我才开始行动

#include<stdio.h>
#include<conio.h>
#include<string.h>

#define NULL 0

struct wordcount
{
    char *s;
    int count;
    struct wordcount next;
}

struct checkletter
{
    char alph;
    struct wordcount next;
}

main()
{
    char *c;
    int hash[26],len,i,k=0,intm[100];
    struct checkletter complete[26];
    for(r=0;r<25;r++)
    {
        complete[r].alph=r+97;
        complete[r].next=NULL;
    }
    printf("Enter the para :");
    gets(s);
    len=strlen(s);
    for(i=0;i<len;i++)
    {       
        k=0;
        if(c[i]==' ')
        {
            for(j=i;j>m;j--)
            {
                intm[k]=c[i];
                s1=intm;
                k++;
            }
            m=k;
            hastlet=s1[0];

            for(t=0;t<26;t++)
            {
                if(complete[t].alph==hastlet)
                {
                    if(complete[t].next==NULL)
                        complete[t].next=
                }

1 个答案:

答案 0 :(得分:5)

这是草图:

  1. 将该段解析为单词的标记
  2. 维护从哈希码到计数器的地图,小心可能发生冲突
  3. 对于段落中的每个单词,将单词散列为整数
  4. 同样,小心可能发生碰撞,增加相应的计数
  5. 运行哈希表,吐出单词和计数
  6. 除此之外,如果您对自己实施上述内容有具体问题,请告诉我们,我们可以尝试提供帮助。但是,我们不会为您编写代码。