1. 程式人生 > >c: 統計文章的單詞數量

c: 統計文章的單詞數量

不多贅言。

#include <stdio.h>
#include <ctype.h>

int main(int argc, char const *argv[])
{
    char ch,prev='\n';
    int startWord = 0;
    int wordlen=0; // 單個單詞長度
    int wordcount=0; // 總單詞數量
    int totallen=0; // 總單詞長度
    int avglen = 0;
    while ( (ch = getchar())!= EOF ){
        // printf("ch = %c , ispunct(%c) ==%d\n", ch,ch,ispunct(ch));
if ( isalpha(ch) && startWord ){ // startWord = 0; wordlen += 1; } if ( isalpha(ch) && !startWord){ startWord = 1; // startWord now wordlen = 1; } if( !isalpha(ch) && startWord && isalpha
(prev) ){ wordcount +=1; totallen += wordlen; startWord =0; // printf(" -------- 第 %d 個單詞的長度是%d\n",wordcount,wordlen ); } prev=ch; } printf("\n"); avglen = wordcount==0?0:totallen/wordcount; printf("單詞數量=%d , 單詞總長度=%d ,單詞平均長度=%d \n"
,wordcount,totallen,avglen); return 0; }

執行效果:

gcc -o ww words.c
./ww < article.txt

單詞數量=27 , 單詞總長度=160 ,單詞平均長度=5

相關推薦

c: 統計文章單詞數量

不多贅言。 #include <stdio.h> #include <ctype.h> int main(int argc, char const *argv[]) {

對string型變數的頻率統計(文章單詞檢索)

#include<bits/stdc++.h>using namespace std;#define ll long longmap<string,ll> mp;set<string> ss; void cnt(const string s,string sp){ for

用python統計文章單詞詞頻

import re with open("text.txt") as f: #讀取檔案中的字串 txt = f.read() #去除字串中的標點、數字等 txt = re.sub('[,\.()":;[email pr

利用Python的 counter內置函數,統計文本中的單詞數量

str 集合 地址 class 元組 正數 順序 set 而不是 counter是 colletions內的一個類 可以理解為一個簡單的計數器,可以統計字符出現的個數,例子如下 import collections str1=[‘a‘,‘a‘,‘b‘,‘d‘] m=col

hadoop-mapreduce-(1)-統計單詞數量

fig pack lib let ack 函數 text dex pri 編寫map程序 package com.cvicse.ump.hadoop.mapreduce.map; import java.io.IOException; import org.apach

C語言:單詞統計

題目描述 輸入一行字元,統計其中分別有多少個單詞和空格。比如輸入:“How are you”,有3個單詞和2個空格。 輸入 每行輸入一字串 輸出 輸出單詞個數及空格個數,用逗號隔開 樣例輸入 How are you I love C language 樣例輸出 3,2 4

C語言作業3-陣列-1統計文章各字元型別數目

C語言作業3-陣列-1統計文章各字元型別數目 問題描述: 有1篇文章,共有3行文字, 每行有80個字元,要求分別統計其中的英文大寫字母、小寫字母、數字、及其他字元的個數 程式碼實現: #include<stdio.h> #include<stdlib.h>

C語言實驗——單詞統計(字元陣列的應用)

 C語言實驗——單詞統計   Problem Description 從鍵盤輸入一行字元(長度小於100),統計其中單詞的個數,各單詞以空格分隔,且空格數可以是多個。 Input 輸入只有一行句子。僅有空格和英文字母構成。 Output 單詞的個數。

java讀取一篇英語文章並且統計單詞出現的頻率並從高到低輸出

package com.amt.crm.controller; import java.io.BufferedReader; import java.io.FileReader; import jav

統計一篇文章單詞的個數(map)

 統計一篇英文文章中單詞出現的頻率(為簡單起見,假定依次從鍵盤輸入該文章) 關鍵字是string型別 #include<bits/stdc++.h> using namespace std; int main() { map<string, int

大資料09--MapReduce習題~統計單詞數量

一、利用MapReduce計算單詞 WordcountDriver ** * 相當於一個yarn叢集的客戶端 * 需要在此封裝我們的mr程式的相關執行引數,指定jar包 * 最後提交給yarn */ public class WordcountDriver { public

C++統計單詞個數及排序:容器按照value排序

例: 給定一段英語文字,要求對其中單詞出現的個數按照從小到大進行排序,出現次數相同的按照首字母順序排列。 演算法實現: #include <iostream> #include <algorithm> #include <

apache-storm例子:統計句子中的單詞數量

模型圖 程式碼 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven

統計文章單詞的字數並按照出現的頻率排序(treeSet)

基本思路:用hashmap儲存key值為單詞,value為單詞出現的頻率。 hashmap儲存對單詞的遍歷 map的遍歷儲存在set中 排序 TreeSet 對wordEntity實現compara

統計文章中英語單詞出現的次數

nextline ati pri num ger .get ins dex inf 統計文章中各個英語單詞出現的次數: import java.io.*; import java.util.*; public class Tongji { publi

&lt;Machine Learning in Action &gt;之二 樸素貝葉斯 C#實現文章分類

options 直升機 water 飛機 math mes 視頻 write mod def trainNB0(trainMatrix,trainCategory): numTrainDocs = len(trainMatrix) numWords =

小學生算術-java&c-統計倆個整數相加時發生多少次進位

整數 names clas += return turn java clu sta 問題描述:計算倆個整數在相加時需要多少次進位,處理多組數據,直到輸入倆個0. 1.java import java.util.Scanner; /** * 統計兩個數字在相加的時候需要多

[C#]統計文本文件txt中的行數(快速讀取)

cnblogs () stop static nbsp nes req stream filename 快速統計文本文件中的行數( StreamReader.ReadLine() ): 測試代碼如下: 1    //讀取txt文件中總行數的方法 2

wordpress添加文章閱讀數量

clas meta _for pos 點擊 global update pda action 將下面代碼添加到functions.php 1 //取得文章的閱讀次數 2 function post_views($before = ‘點擊 ‘, $after = ‘

tp5基於js折線圖插件統計會員註冊數量

str js代碼 col 功能 i++ term unix process port 樣式比較簡單 功能實現了 和大家共享 這個地址裏面有好多插件可以用 圓柱 折線 等等 大家可以去參考 開發https://bbs.hcharts.cn/forum.php 上代碼(第一版