【ThinkingInC++】4、统计txt文本中单词的个数

其中要使用的txt文本!

header defines classes for file IO, including ifstream, whose constructor takes a file name an argument. The expression f >> word extracts the next non-whitespace token from the file and returns the stream. When a stream appears
in a boolean context, such as the while statement above, it evaluates to true until end-of-file reached or an error occurs.

It turns out that on many operating systems you can take advantage of i/o redirection, which allows you to map standard input or output to a file on the command line. If you rewrite Words.cpp to read from cin, then you can read any file you want, as the following
illustrates.

源程序

/**
* 功能:统计txt文本中单词的个数
* 时间:2014年8月9日09:09:33
* 作者:cutter_point
*/

#include<iostream>
#include<string>
#include<stdlib.h>
#include<fstream>
#include<bitset>

using namespace std;

int main()
{
    ifstream fin("words.txt");
    string word;
    int wordNo=0;

    while(fin>>word)
    {
        ++wordNo;
    }

    std::bitset<8> b2(wordNo);

    cout<<"一共有:2进制"<<b2<<"个单词"<<endl;
    cout<<"一共有:8进制"<<oct<<wordNo<<"个单词"<<endl;
    cout<<"一共有:10进制"<<wordNo<<"个单词"<<endl;
    cout<<"一共有:16进制"<<hex<<wordNo<<"个单词"<<endl;

    system("pause");
    return 0;
}

【ThinkingInC++】4、统计txt文本中单词的个数

时间: 2024-11-17 20:21:02

【ThinkingInC++】4、统计txt文本中单词的个数的相关文章

字符串之“统计一个字符串中单词的个数”

题目:统计一个字符串中单词的个数 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开 输入:my name is jacky 输出:the number of word is 4 代码如下: #include <stdio.h> int main(int argc, char *argv[]) { char str[80]; int i=0,num=0,flag=0; char c; gets(str); while((c=str[i])!='\0') { if(c==' ') flag

C语言统计一个字符串中单词的个数

假定每一个单词用空格隔开. 样例: 输入:how are you! 输出:3 两种方法: 一: #include <stdio.h> #include <string.h> #define SIZE 20 int main() { char str[SIZE]={'\0'}; int count=0; printf("please input the string\n"); gets(str); puts(str); int length = strlen(st

循环-06. 统计一行文本的单词个数

循环-06. 统计一行文本的单词个数(15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 张彤彧(浙江大学) 本题目要求编写程序统计一行字符中单词的个数.所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个. 输入格式: 输入给出一行字符. 输出格式: 在一行中输出单词个数. 输入样例: Let's go to room 209. 输出样例: 5 1 #include<stdio.h> 2 #incl

第3章-14.统计一行文本的单词个数 (15分)

本题目要求编写程序统计一行字符中单词的个数.所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个. 输入格式: 输入给出一行字符. 输出格式: 在一行中输出单词个数. 输入样例: Let's go to room 209. 输出样例: 5 1 # 统计一行文本的单词个数 2 # Author: cnRick 3 # Time : 2020-3-25 4 aStr_list = input().split() 5 result = len(aStr_list) 6 prin

习题6-8 统计一行文本的单词个数(15 分)

本题目要求编写程序统计一行字符中单词的个数.所谓"单词"是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个. 输入格式: 输入给出一行字符. 输出格式: 在一行中输出单词个数. 输入样例: Let's go to room 209. 输出样例: 5 #include <stdio.h> int main() { char s[100]; int num=0,word=0;//num表示单词数,Word表示该字符是否是单词 char c; gets(s); fo

习题6-8 统计一行文本的单词个数 (15分)

本题目要求编写程序统计一行字符中单词的个数.所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个. 输入格式: 输入给出一行字符. 输出格式: 在一行中输出单词个数. 输入样例: Let's go to room 209. 输出样例: 5 发现别人都是用数组,但是我自己觉得这个方法比较容易理解. #include<stdio.h> int main(void) { char ch='0'; int sum=0; int sign; while(ch!='\n'){ si

编译器DIY之———统计英文文本中的单词数,字符数和行数

咳咳,这一章节应该是连载编译器的DIY的,可是在做DIY之前先用flex 来练练手,对于后面的理解有帮助作用. 在word 中我经常看到有一个单词统计的功能,那么是怎么来实现的了,当然第一个念头就是遍历整个文本依据换行和空格对字符串进行分析,那么这是可行的.可是能不能简单点了,其实对文本做单词分析,大家都知道怎么做,难得地方可能就是代码的实现了,那么现在如果使用正则表达式来实现的话,那么一切问题就Over 了. 环境:ubuntu(当然装了flex的windows和mac也可以) 原码: %{

循环-06. 统计一行文本的单词个数(15)

1 #include<iostream> 2 #include<string> 3 using namespace std; 4 int main(){ 5 string s; 6 int i,c=0; 7 getline(cin,s); 8 for(i=1;i<s.length()-1;i++) 9 if(s[i]==' '&&s[i-1]!=' ') 10 c++; 11 if(s[i]!=' ') 12 c++; 13 cout<<c<

N个任务掌握java系列之统计一篇文章中单词出现的次数

问题:统计一篇文章中单词出现的次数 思路: (1)将文章(一个字符串存储)按空格进行拆分(split)后,存储到一个字符串(单词)数组中. (2)定义一个Map,key是字符串类型,保存单词:value是数字类型,保存该单词出现的次数. (3)遍历(1)中得到的字符串数组,对于每一个单词,考察Map的key中是否出现过该单词,如果没出现过,map中增加一个元素,key为该单词,value为1(第一次出现): 如果,在map的key中发现了该单词,则通过key找到对应的value(单词出现的次数)