| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3988 人关注过本帖
标题:C编程 实现 统计文件中各个单词出现的次数
取消只看楼主 加入收藏
zwd94
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-3-12
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
C编程 实现 统计文件中各个单词出现的次数
已有文本文件test.txt 内容为 hello,how are you!Welcome you to China!编写一个程序读取test.txt。统计各单词出现次数,并将个单词和气出现的次数输出到屏幕和文件中.
要求用C语言编程。 谢谢
搜索更多相关主题的帖子: 文本文件 Welcome hello C语言 China 文本文件 Welcome hello C语言 China 
2017-03-12 20:27
zwd94
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-3-12
收藏
得分:0 
#include<stdio.h>
#include<string.h>
struct word
{
    char c[30];
    int n;
}w[10000];

void main()
{
    FILE *fp;
    char b[30],ch;
    int i=0,m=1,j=0,k=0,t=0,flag=0;
    fp=fopen("test.txt","r");
    while((ch=fgetc(fp))!=EOF)
        {
           if('A'<=ch&&ch<='Z') ch=ch+32;
           if('a'<=ch && ch<='z')
            {b[i]=ch;i++;flag=1;}
            else
            {
                if(ch=='-'&&(ch=fgetc(fp))=='\n')flag=0;
                else
                {
                     if(flag==1)
                        { b[i]='\0';i=0;flag=0;m=0;
                    for(j=0;j<k;j++)
                        if(strcmp(b,w[j].c)==0){m=1;break;}
                    if(m) w[j].n++;
                        else
                            {w[k].n=1;strcpy(w[k].c,b);k++;}
                }
            }
            if('A'<=ch && ch<='Z') ch+=32;
            if('a'<=ch && ch<='z'){b[i]=ch;i++;flag=1;}
        }
    }
   
    for(i=0;i<k&&i<5;i++)
    {
    t=0;
    while(w[t].n==0) t++;
    for(j=1;j<k;j++)
    {
    if(w[j].n>w[t].n) t=j;
    else
    if(w[j].n==w[t].n)
    {
    if(strcmp(w[j].c,w[t].c)<0)
    t=j;
    }
    }
    printf("%s %d\n",w[t].c,w[t].n);
    w[t].n=0;
    }
    return 0;
    }
貌似哪有错误
2017-03-12 20:35
快速回复:C编程 实现 统计文件中各个单词出现的次数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017515 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved