词频统计

1.开始时写的是:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define max 100


int main()

{
char str[max];
int a[27];
char s;
int length;
int i,j,k,l;
while(scanf("%s",str)!=EOF)
{
       for(i=1;i<=26;i++)
       {
            a[i] = 0;


        }
       length = strlen(str);

       for(i=0;i<length;i++)

       {
           s = str[i];
        }
      if('A'<=s&&s<='Z')

      {
         a[s-'A'+1] ++;
       }
     else

     {
         a[s-'a'+1] ++;
      }

     for(i=1;i<=26;i++)

     {
         if(a[i]!=0)
         {
           printf("%c : %d\n",'a'+i-1,a[i]);


          }
      }
}
return 0;
}

 

 

看到别人写的就想做整个词的

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

#define max 100

int main()
{

char string[max][max];

char s[max];

while(1)
{

      gets(s);

      int x1,x2;

      int i,k = 0;

      for(i=0;i<strlen(s);i++)
    {
           if(i==0)
         {
             x1 = 0;
             continue;
          }
     if(s[i]==' ')
   {

       x2= i-1;

      strncpy(string[k],s+x1,x2-x1+1);

      k++;

      x1 = i+1;

      }
}

   strcpy(string[k],s+x1);

   k++;
 
   for(i=0;i,k;i++)
  {
        printf("%s\n",string[i]);
   }

 }

return 0;


}

  小结:可能做得不多,但是真的用心做了。我是跨专业的,写这些也花了很多时间,同时也学到了很多东西。刚开始只是想要做出来每个字母的频率,将字母都变为小写,用数组的方式来计数,现在看到了其他人交的是每个单词的统计,只得再去做,现在只能做出这么多,但是我会努力把它做好。将其实现的功能变完善,一边查资料,一边问别人,学习很充实也很忙碌。

地址:https://coding.net/u/brilliant/p/cptj/git/tree/master

 

posted on 2016-09-06 20:29  悦然品茗  阅读(137)  评论(7编辑  收藏  举报

导航