• 找出一句话中出现次数最多的单词


    #include   <string>
    #include   <iostream>
    #include   <map>
    using namespace std;
    
    int nMax = 0;
    int j = 0;
    bool bEnd = false;
    char buf[20] = {'0'};
    
    bool isWorld(char chr)
    {
    	if ((chr >= 'a' && chr <= 'z') || (chr >= 'A'&& chr <= 'Z'))
    		return true;
    		return false;
    }
    
    void GetWorld(map<string, int> &test,char chr)
    {
    	bEnd = false;
    	if(!isWorld(chr))
    	bEnd =true;
    	if (bEnd && j)
    	{
    		string str;
    		str.assign(buf,j);
    		cout << str << " ";
    		if(test.find(str)==test.end())
    		{
    			test[str] = 1;
    		}
    		else
    		{
    			test[str]++;
    		}
    		if (nMax < test[str])
    			nMax = test[str];
    		memset(buf, '0', sizeof(buf));
    		j = 0;
    	}
    	if (isWorld(chr))
    	{
    		buf[j] = chr;
    		j++;
    	}
    }
    
    int main()
    {
    	char *CWord = ", ,this, ,is a test test hao are you ,";
    	map<string, int> MapWorld;
    	int i = 0;
    	while(!isWorld(CWord[i]))
    		i++;
    	while (CWord[i])
    	{
    		GetWorld(MapWorld,CWord[i]);
    		i++;
    	}
    	cout << endl;
    	map<string, int>::iterator itr = MapWorld.begin();
    	for(itr;itr!=MapWorld.end();itr++)
    	{
    		if(itr->second == nMax)
    			cout<<itr->first<<endl;
    	}
    	getchar();
    	return 0;
    }


    下面这个类似的题目
    有一段文本,统计其中的单词数。例如:
    As a technology , "HailStorm" is so new that it is still only known by itscode name.
    注意:单词间的间隔不一定是一个空格。
    答:可执行程序代码如下,假设该文本已存入text这个数组里。

    void main()
    {
      char text[1000]={"As a technology , 'HailStorm' is so new that it is still only known by its code name."};
      int i=0,count=0;
      bool flag=true;
      while (text[i]&&i<1000) 
      {
        if (text[i]==' ') 
        {
          flag=true;
        }
        else if (flag==true && ((text[i]>='a'&&text[i]<='z')||(text[i]>='A'&&text[i]<='Z'))) 
        {  // 前有空格,接着出现字母,表示出现一个单词。
          count++;
          flag=false;
        }
        i++;
      }
      cout<<count;
    }
    
    




     

  • 相关阅读:
    虚树入门
    378. 骑士放置(最大独立集)
    377. 泥泞的区域(最大点集)
    352. 闇の連鎖
    P2680 运输计划
    Linux下的段错误(Segmentation fault)
    Acwing 98-分形之城
    快速幂 和 快速乘
    P1308-道路修建 (noi 2011)
    洛谷 P1070 道路游戏(noip 2009 普及组 第四题)
  • 原文地址:https://www.cnblogs.com/byfei/p/3112202.html
Copyright © 2020-2023  润新知