1、单纯统计单词个数,单词与单词之间只考虑空格的情况
// word_statistic.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include#include using namespace std;#define M 10000#define N 20int _tmain(int argc, _TCHAR* argv[]){ char str1[M]={ 0}; char str2[M][N]; int count[M]; gets(str1); cout<<"您输入的字符串是:"< <
上述代码只考虑单词间是空格的情况,可以加入考虑是空格、英文逗号,句号。
while (str1[j]==32||str1[j]==44||str1[j]==46) //这里要用while循环 不能用if语句 j++; while(j
下面是华为的一道题:
题目描述:
输入一段英文文本,用程序统计出现频率最高和最低的两个单词;
英文文本中仅出现这四类字符:空格( )、英文逗号(,)、英文句号(.)、英文大小写字母(a-z、A-Z)
单词之间的分隔符仅考虑这三种:空格( )、英文逗号(,)、英文句号(.);
仅大小写不同的单词算同一个单词;
如果两个单词出现次数相同,则在文本中首次出现的单词优先返回。
返回的单词统一用小写字母返回
例如:
输入字符串“Hello world, i said hello world to the world”,返回“world”,“i”
输入字符串“Somebody like somebody,i do not like it”,返回“somebody”,“i”
要求实现函数:
void WordStat(const char * pInputStr, char * pOutputHotWord, char * pOutputColdWord);
//统计字符串pInputStr中出现次数最多的和最少的单词void WordStat(const char * pInputStr, char * pOutputHotWord, char * pOutputColdWord){ int len=strlen(pInputStr); int j=0,i=0,k=0; char dst[10000][20]; int count[10000]; while(jcount[f]) { min=count[f]; min_flag=f; } } cout< <<"\t"< <