第三周 词频统计

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第三周 词频统计相关的知识,希望对你有一定的参考价值。

HTTP:https:https://git.coding.net/liqiao085/wf--week2.git
ssh://[email protected]:liqiao085/wf--week2.git

功能1:
 void f1()//完成自己输入文章统计功能 
{
        int sum = 0;
    gets(str);
  //  printf("%s\\n",str);
     int len = strlen(str);//文章长度 
     for(int i = 0;i<len;i++)
     {
     if(str[i]>=‘A‘&&str[i]<=‘Z‘) str[i]+=32;//大写变小写 
    }
     for(int i = 0;i<len;i++)
     {
     if(str[i]>=‘a‘&&str[i]<=‘z‘)
     {
     sum++;
     char s[200],flag = 0;
     for(;i<len;i++)
     {
    
     if(str[i]<‘a‘||str[i]>‘z‘) break;
     s[flag++] = str[i];
     }
     s[flag] = 0;
     insert_tree(s);//插入字典树中 
     }
    
     }
     pri();
}
void pri(int len)//打印前len个单词 
{
tot_word = 0;
dfs(0,0);
    printf("total %d words\\n",tot_word);
qsort(ss,f,sizeof(ss[0]),cam);//对单词排序 
for(int i = 0;i<min(len,f);i++)
{
cout<<ss[i].str;
for(int j = 1;j<=25-ss[i].str.length();j++) printf(" ");
cout<<ss[i].flag<<endl;
}
}
void gao()//完成了重定向功能 
{
// printf("1111\\n");
char str[50];
while(scanf("%s",str)!=EOF)//循环读取知道文件末尾 
{
    //printf("%s\\n",str);
    int len   = strlen(str);
        for(int i = 0;i<len;i++)
    {
     if(str[i]>=‘A‘&&str[i]<=‘Z‘) str[i]+=32;
     }
insert_tree(str);//插入字典树中 
}
pri();//打印单词以及个数 
}
功能4:
 void gao()//完成了重定向功能 
{
// printf("1111\\n");
char str[50];
while(scanf("%s",str)!=EOF)//循环读取知道文件末尾 
{
    //printf("%s\\n",str);
    int len   = strlen(str);
        for(int i = 0;i<len;i++)
    {
     if(str[i]>=‘A‘&&str[i]<=‘Z‘) str[i]+=32;
     }
insert_tree(str);//插入字典树中 
}
pri();//打印单词以及个数 
}
 
功能3:
 void f2(char *p,int flag)
{
// printf("%s\\n",p);
//printf("1111\\n");
    struct stat st;
    stat(p,&st);
    if (S_ISDIR(st.st_mode))
    {
    // printf("1111\\n");
     f2_dir(p);
     return;
    }
    
int sum = 0;
freopen(p, "r", stdin);//打开文件 
while(scanf("%s",str)!=EOF)
{
sum++;
    int len  = strlen(str);
    for(int i = 0;i<len;i++)
    {
     if(str[i]>=‘A‘&&str[i]<=‘Z‘) str[i]+=32;//大写转小写 
     }
insert_tree(str);//插入字典树中

}
if(flag==0) pri();
else pri(flag);//打印前flag个单词 
return;
}
void f2_dir(char *p)
{
readdir(p);//读取目录 
for(int i= 0;i<ve.size();i++)
{
 f = 0;
 cnt = -1;
 new_tree();//建立一个新的字典树节点 
//  cout<<ve[i]<<endl;
 char se[150];
 for(int j = 0;j<ve[i].length();j++)//循环目录长度 
 {
   se[j] = ve[i][j];
   }
   se[ve[i].length()] = 0;
   //printf("%s\\n",se);
     f2(se,10);
printf("____________________");
}
}
功能2:
 void f2(char *p,int flag)
{
// printf("%s\\n",p);
//printf("1111\\n");
    struct stat st;
    stat(p,&st);
    if (S_ISDIR(st.st_mode))
    {
    // printf("1111\\n");
     f2_dir(p);
     return;
    }
    
int sum = 0;
freopen(p, "r", stdin);//打开文件 
while(scanf("%s",str)!=EOF)
{
sum++;
    int len  = strlen(str);
    for(int i = 0;i<len;i++)
    {
     if(str[i]>=‘A‘&&str[i]<=‘Z‘) str[i]+=32;//大写转小写 
     }
insert_tree(str);//插入字典树中

}
if(flag==0) pri();
else pri(flag);//打印前flag个单词 
return;
}

 

技术分享

以上是关于第三周 词频统计的主要内容,如果未能解决你的问题,请参考以下文章

软件工程第二周作业----词频统计

软件工程第二次作业 词频统计

Python3 用字典来统计词频

结对编程-词频统计(第9组)

结对编程第4小组-词频统计

201671010431+词频统计软件项目报告