个数-用C语言计算文本单词总数及每个单词出现频率

问题描述

用C语言计算文本单词总数及每个单词出现频率

C语言计算创建文本中单词的个数(单词以空格或者逗号等其他非字母符号分隔)且每个单词出现的次数

解决方案

直接单词放一个hashtable,然后单词做key,个数做value

解决方案二:

用VB写一个给你

Imports System.Text.RegularExpressions

Module Module1

    Sub Main()
        Dim s As String = "Four score and seven years ago our fathers brought forth on this continent, a new nation, conceived in Liberty, and dedicated to the proposition that all men are created equal. Now we are engaged in a great civil war, testing whether that nation, or any nation so conceived and so dedicated, can long endure. We are met on a great battle-field of that war. We have come to dedicate a portion of that field, as a final resting place for those who here gave their lives that that nation might live. It is altogether fitting and proper that we should do this. But, in a larger sense, we can not dedicate -- we can not consecrate -- we can not hallow -- this ground. The brave men, living and dead, who struggled here, have consecrated it, far above our poor power to add or detract. The world will little note, nor long remember what we say here, but it can never forget what they did here. It is for us the living, rather, to be dedicated here to the unfinished work which they who fought here have thus far so nobly advanced. It is rather for us to be here dedicated to the great task remaining before us -- that from these honored dead we take increased devotion to that cause for which they gave the last full measure of devotion -- that we here highly resolve that these dead shall not have died in vain -- that this nation, under God, shall have a new birth of freedom -- and that government of the people, by the people, for the people, shall not perish from the earth."
        Dim query = Regex.Split(s, "W+|s") _
            .Select(Function(x) LCase(x)) _
            .Where(Function(x) x <> "") _
            .GroupBy(Function(x) x) _
            .OrderByDescending(Function(x) x.Count()) _
            .Select(Function(x) String.Format("{0}出现了{1}次", x.Key, x.Count))
        For Each item As String In query
            Console.WriteLine(item)
        Next
    End Sub

End Module

解决方案三:

这是结果

 that出现了13次
the出现了11次
we出现了10次
to出现了8次
here出现了8次
a出现了7次
and出现了6次
nation出现了5次
can出现了5次
of出现了5次
have出现了5次
for出现了5次
it出现了5次
not出现了5次
this出现了4次
in出现了4次
dedicated出现了4次
are出现了3次
great出现了3次
so出现了3次
who出现了3次
is出现了3次
dead出现了3次
they出现了3次
us出现了3次
shall出现了3次
people出现了3次
our出现了2次
on出现了2次
new出现了2次
conceived出现了2次
men出现了2次
war出现了2次
or出现了2次
long出现了2次
field出现了2次
dedicate出现了2次
gave出现了2次
but出现了2次
living出现了2次
far出现了2次
what出现了2次
rather出现了2次
be出现了2次
which出现了2次
from出现了2次
these出现了2次
devotion出现了2次
four出现了1次
score出现了1次
seven出现了1次
years出现了1次
ago出现了1次
fathers出现了1次
brought出现了1次
forth出现了1次
continent出现了1次
liberty出现了1次
proposition出现了1次
all出现了1次
created出现了1次
equal出现了1次
now出现了1次
engaged出现了1次
civil出现了1次
testing出现了1次
whether出现了1次
any出现了1次
endure出现了1次
met出现了1次
battle出现了1次
come出现了1次
portion出现了1次
as出现了1次
final出现了1次
resting出现了1次
place出现了1次
those出现了1次
their出现了1次
lives出现了1次
might出现了1次
live出现了1次
altogether出现了1次
fitting出现了1次
proper出现了1次
should出现了1次
do出现了1次
larger出现了1次
sense出现了1次
consecrate出现了1次
hallow出现了1次
ground出现了1次
brave出现了1次
struggled出现了1次
consecrated出现了1次
above出现了1次
poor出现了1次
power出现了1次
add出现了1次
detract出现了1次
world出现了1次
will出现了1次
little出现了1次
note出现了1次
nor出现了1次
remember出现了1次
say出现了1次
never出现了1次
forget出现了1次
did出现了1次
unfinished出现了1次
work出现了1次
fought出现了1次
thus出现了1次
nobly出现了1次
advanced出现了1次
task出现了1次
remaining出现了1次
before出现了1次
honored出现了1次
take出现了1次
increased出现了1次
cause出现了1次
last出现了1次
full出现了1次
measure出现了1次
highly出现了1次
resolve出现了1次
died出现了1次
vain出现了1次
under出现了1次
god出现了1次
birth出现了1次
freedom出现了1次
government出现了1次
by出现了1次
perish出现了1次
earth出现了1次
请按任意键继续. . .

解决方案四:

稍微修改,按照字母序输出:

 Imports System.Text.RegularExpressions

Module Module1

    Sub Main()
        Dim s As String = "Four score and seven years ago our fathers brought forth on this continent, a new nation, conceived in Liberty, and dedicated to the proposition that all men are created equal. Now we are engaged in a great civil war, testing whether that nation, or any nation so conceived and so dedicated, can long endure. We are met on a great battle-field of that war. We have come to dedicate a portion of that field, as a final resting place for those who here gave their lives that that nation might live. It is altogether fitting and proper that we should do this. But, in a larger sense, we can not dedicate -- we can not consecrate -- we can not hallow -- this ground. The brave men, living and dead, who struggled here, have consecrated it, far above our poor power to add or detract. The world will little note, nor long remember what we say here, but it can never forget what they did here. It is for us the living, rather, to be dedicated here to the unfinished work which they who fought here have thus far so nobly advanced. It is rather for us to be here dedicated to the great task remaining before us -- that from these honored dead we take increased devotion to that cause for which they gave the last full measure of devotion -- that we here highly resolve that these dead shall not have died in vain -- that this nation, under God, shall have a new birth of freedom -- and that government of the people, by the people, for the people, shall not perish from the earth."
        Dim query = Regex.Split(s, "W+|s") _
            .Select(Function(x) LCase(x)) _
            .Where(Function(x) x <> "") _
            .GroupBy(Function(x) x) _
            .OrderBy(Function(x) x.Key) _
            .Select(Function(x) String.Format("{0}出现了{1}次", x.Key, x.Count))
        For Each item As String In query
            Console.WriteLine(item)
        Next
    End Sub

End Module

解决方案五:

这是字母序的结果

a出现了7次
above出现了1次
add出现了1次
advanced出现了1次
ago出现了1次
all出现了1次
altogether出现了1次
and出现了6次
any出现了1次
are出现了3次
as出现了1次
battle出现了1次
be出现了2次
before出现了1次
birth出现了1次
brave出现了1次
brought出现了1次
but出现了2次
by出现了1次
can出现了5次
cause出现了1次
civil出现了1次
come出现了1次
conceived出现了2次
consecrate出现了1次
consecrated出现了1次
continent出现了1次
created出现了1次
dead出现了3次
dedicate出现了2次
dedicated出现了4次
detract出现了1次
devotion出现了2次
did出现了1次
died出现了1次
do出现了1次
earth出现了1次
endure出现了1次
engaged出现了1次
equal出现了1次
far出现了2次
fathers出现了1次
field出现了2次
final出现了1次
fitting出现了1次
for出现了5次
forget出现了1次
forth出现了1次
fought出现了1次
four出现了1次
freedom出现了1次
from出现了2次
full出现了1次
gave出现了2次
god出现了1次
government出现了1次
great出现了3次
ground出现了1次
hallow出现了1次
have出现了5次
here出现了8次
highly出现了1次
honored出现了1次
in出现了4次
increased出现了1次
is出现了3次
it出现了5次
larger出现了1次
last出现了1次
liberty出现了1次
little出现了1次
live出现了1次
lives出现了1次
living出现了2次
long出现了2次
measure出现了1次
men出现了2次
met出现了1次
might出现了1次
nation出现了5次
never出现了1次
new出现了2次
nobly出现了1次
nor出现了1次
not出现了5次
note出现了1次
now出现了1次
of出现了5次
on出现了2次
or出现了2次
our出现了2次
people出现了3次
perish出现了1次
place出现了1次
poor出现了1次
portion出现了1次
power出现了1次
proper出现了1次
proposition出现了1次
rather出现了2次
remaining出现了1次
remember出现了1次
resolve出现了1次
resting出现了1次
say出现了1次
score出现了1次
sense出现了1次
seven出现了1次
shall出现了3次
should出现了1次
so出现了3次
struggled出现了1次
take出现了1次
task出现了1次
testing出现了1次
that出现了13次
the出现了11次
their出现了1次
these出现了2次
they出现了3次
this出现了4次
those出现了1次
thus出现了1次
to出现了8次
under出现了1次
unfinished出现了1次
us出现了3次
vain出现了1次
war出现了2次
we出现了10次
what出现了2次
whether出现了1次
which出现了2次
who出现了3次
will出现了1次
work出现了1次
world出现了1次
years出现了1次
请按任意键继续. . .

解决方案六:

下载一个Visual Studio 2013,推荐Visual Studio Community 2013 with Update 4(社区版)

http://www.visualstudio.com/zh-cn/downloads/download-visual-studio-vs#d-community

然后新建一个VB控制台项目,将这些代码贴进去就可以了。

时间: 2024-12-31 19:26:02

个数-用C语言计算文本单词总数及每个单词出现频率的相关文章

在java语言计算数据库记录总数的简便算法

  假设数据库总记录数为 totalrecordcount 每页显示记录数为:pagesize 则总页数为 pagecount=(totalrecordcount+pagesize-1)/pagesize 代码如下:   int totalrecordcount=36;  int pagesize=3;  int pagecount=(totalrecordcount+pagesize-1)/pagesize;   System.out.println("pagecount="+pag

《Python自然语言处理》——1.1 语言计算:文本和词汇

1.1 语言计算:文本和词汇 我们都对文本非常熟悉,因为我们每天都在进行阅读和写作.在本书中,把文本视为编写程序的原始数据,并通过很多有趣的编程方式来处理和分析文本.但在能写这些程序之前,必须得从了解Python解释器开始. Python入门 Python与用户友好交互的方式之一包括你可以在交互式解释器直接输入代码--解释器将运行你的Python代码的程序.你可以通过一个叫做交互式开发环境(Interactive Development Environment,IDLE)的简单图形接口来访问Py

《Python自然语言处理》——第1章 语言处理与Python 1.1 语言计算:文本和词汇

第1章 语言处理与Python 我们能够很容易地得到数百万数量级的文本.假设我们会写一些简单的程序,那可以用它来做些什么?本章将解决以下几个问题. (1)通过将技术性较简单的程序与大规模文本结合起来,我们能实现什么? (2)如何自动地提取出关键字和词组,用来总结文本的风格和内容? (3)Python编程语言为上述工作提供了哪些工具和技术? (4)自然语言处理中有哪些有趣的挑战呢? 本章分为风格完全不同的两部分.在1.1节,我们将进行一些与语言相关的编程练习而不去解释它们是如何实现的.在1.2节,

C++实现在文本中找出某个单词的位置信息_C 语言

代码很简单,功能也很单一,这里就不多废话了,大家直接看代码吧. #include <stdio.h> #include <string.h> int main(int argc,char**argv){ char *token = argv[1]; FILE *fp = fopen("./test.txt","a+"); char buf[1024]; char *p; int s=-1,len=strlen(token),line=0,po

c语言-怎样解决C语言TXT文本输入数据时的空格问题?

问题描述 怎样解决C语言TXT文本输入数据时的空格问题? 题目如下: 1到40,一共四十个数,输入时一行不超过12个数,不超过10行,筛选出现一次的数字,出现两次的数字,三次及三次以上的数字,出现零次的数字,要求用TXT文本输入,输出.遇到的问题:输入数据后,发现结果错误.仔细查找发现,每行数据后会发现几个空格,,导致了只有第一行数据能够读入.笔者试过多次,发现貌似只有这一种空格形式会对结果造成影响,其他的情况,添加很多空格也不会有事.笔者咨询前辈,说可能由于中文或者英文状态下的原因,笔者试过两

c语言 计算圆周率π 的值

问题描述 c语言 计算圆周率π 的值 对于正整数n,在原点为圆心的一个半径n的圆盘内(包括圆周内的点)的整数格子点的个数设为C(n),n →∞的时候C(n) / n2接近圆周率.基于这个求圆周率的近似值输入一个n,C(n) / n2做为double型输出,C(n)为long型 [入力]正整数 n 1つ. [出力] n と C(n) / n2 とを,書式を ""%d:%.15f "" として書き出せ. [例]输入例1000 输出例1000:3.141549000000

go语言计算两个时间的时间差方法_python

本文实例讲述了go语言计算两个时间的时间差方法.分享给大家供大家参考.具体分析如下: go语言计算两个时间的时间差,代码很简单,返回1天前.1周前还是1月前的时间 package main import ( "fmt" "time" ) func main() { //Add方法和Sub方法是相反的,获取t0和t1的时间距离d是使用Sub //将t0加d获取t1就是使用Add方法 k := time.Now() //一天之前 d, _ := time.ParseDu

Swift中关于计算文本的宽度

/// 计算文本大小 if titleLabel!.text != nil { var attributes = [NSFontAttributeName: titleLabel!.font] var option = NSStringDrawingOptions.UsesLineFragmentOrigin var text: NSString = NSString(CString: titleLabel!.text!.cStringUsingEncoding(NSUTF8StringEnco

用C语言计算一个单链表的长度,单链表的定义如下:要求使用递归,不得出现循环。

问题描述 用C语言计算一个单链表的长度,单链表的定义如下:要求使用递归,不得出现循环. 用C语言计算一个单链表的长度,单链表的定义如下:要求使用递归,不得出现循环. 解决方案 如果链表有环,永远算不出来 只能假定,这个链表不是环形链表,也没有环 简单事情用递归做是低效率的,即便学习递归,也是不必要的 递推, 可以用递归实现 也可以用迭代实现 前者无循环,后者有 解决方案二: int listLength(List *l) { if(l->next!=NULL) { l=l->next; ret