第三周 词频统计

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;
}

时间: 2025-01-15 02:12:20

第三周 词频统计的相关文章

第一周 词频统计

这是我的第一篇博客,说起来有些惭愧,作为一个程序猿竟然至今没写过一篇技术博客.在这里,先向读到这篇博客的读者致歉,原谅我粗糙的表达能力. 在读研究生之前,“程序员”对我来说,只是三个字的组合,我并不了解程序员的世界,也不知道一个程序员的基本素养(这个词是从亮哥那听来的,但是是从杨老师那了解的).在这里,我要向我的导师--杨贵福老师表示深深的感谢,他教会了我许多作为一个程序员应有的工作的态度以及责任. 接下来谈谈我第一次上我导师的课的感受.我现在是研二,两年来我从没听过我的导师上的课.上周五是我第

第二周-词频统计更新

词频统计功能新增: HTTPS:https://git.coding.net/li_yuhuan/WordFrequency.git SSH:[email protected]:li_yuhuan/WordFrequency.git 代码: static void Main(string[] args) { string str = ""; int length = args.Length; switch (length) { case 0: { string line = Conso

补交第一周词频统计 四则运算的地址

由于不会用codind.net .现在补上 四则运算HTTPS SSH :https://git.coding.net/brilliant/1hao.git [email protected]:brilliant/1hao.git 词频统计HTTPS SSH :https://git.coding.net/brilliant/cptj11.git https://git.coding.net/brilliant/cptj11.git

第二周 词频统计

原需求 1.读取文件,文件内包可含英文字符,及常见标点,空格级换行符. 2.统计英文单词在本文件的出现次数 3.将统计结果排序 4.显示排序结果 新需求: 1.小文件输入. 为表明程序能跑 2.支持命令行输入英文作品的文件名 3. 支持命令行输入存储有英文作品文件的目录名,批量统计 4. 从控制台读入英文单篇作品,重定向输出 1. #include <stdio.h>#include <string.h>#include <stdlib.h>int main(){ FI

词频统计 第三周

package search; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.

第二周作业-词频统计

本周作业是词频统计,编程具体要求如下: https://edu.cnblogs.com/campus/nenu/SWE2017FALL/homework/922 对实现功能进行简要的介绍: 功能一:小文件输入,为表明程序能跑.需要在控制台下输入命令,得到文件中不重复的总单词数.并对单词出现的次数进行排序输出. 功能二:支持命令行输入英文作品的文件名,亲自录入,输出显示不重复单词总数,并对出现频率最高的前10的单词进行输出 功能三:支持命令行输入存储有英文作品文件的目录名,批量统计词频. 功能四:

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

实验要求: 统计文件中出现过的单词数目,并按数目和字典顺序排序,将结果输出到指定文件中.需要统计单词的文件名从命令行输入. 实验分工: 代码编写&测试:张文杰 博客编写:朱昱青 实验思路: 1.在主函数中打开输入和输出文件,获得文件的指针,然后以指针为参数调用count()函数进行词频统计. 2.在count()函数中,利用while循环,不断从文件中分离出可能是单词的字符串(也就是被分隔符隔开的连续字母和数字),然后进一步判断该字符串是否是一个单词.如果是,再查看这个单词是否出现过,如果出现过

(第二周)新英文词频统计

需求分析 1.两种读取文件的方法(建立两个类):  小文本输入.命令行输入文件名 2.进行词频统计 3.对结果进行排序并输出 https:https://git.coding.net/yanzouzhe/ywcptj.git SSH:[email protected]:yanzouzhe/ywcptj.git 功能实现 1.小文本输入读取文件 public class Article { /** * @param args */ String content;// 保存文章的内容 String[

第二周结对编程作业——词频统计

本周作业是结对编写一个词频统计的程序,我们组是我(欧阳思琪)和贺晋飞同学共同完成这项任务.在仔细阅读了要求之后,我们组对程序编程进行了讨论.由于语言可以不必局限于要求中的C.C++,我们便考虑JAVA或python,两者各有优缺点,JAVA写起来比较繁重,而基于以往用python处理NLP相关项目的经验觉得python较为简单,但觉得在简单要求下,使用JAVA的运行速度明显更快,所以我们选择使用JAVA来完成本次作业. 分工:欧阳思琪 代码编写与博客编写 贺晋飞   代码审查与代码测试 实际:由