HDOJ 2072 单词数

  • 题目要求及输入输出要求如下:

  • 解题思路如下:
要统计文章或者句子的单词数,我们可以
~~复制、粘贴把它放在word里,看右下角的字数统计,然后......~~
哈哈,这种当然方便,但是呢,我们也是可以通过自己编写代码来解决这一问题的。
下面是解决问题的代码,主要是通过空格和字符结束符来实现对单词数的统计。因为该题有要求是要统计文章中不同的单词数,因此不同重复统计相同的单词,这一点需要我们注意。
  • 解题代码如下:
#include<bits/stdc++.h> 
using namespace std;
//利用了set的没有重复元素的特点,对应不重复的单词数 
int main()
{
	string str,str1;   //str代表输入,str1代表过渡字符串 
	set<string> s1;    //单词表  
	while(getline(cin,str)&&str[0]!='#')  //输入 
	{
		s1.clear();
		for(int i=0;i<str.size();i++)
		{
			if(str[i]==' ')  //读到一个单词的末尾 
			{
				if(str1!="")
				   s1.insert(str1);
				str1="";
			}
			else                  //将读取到的字符存入字符串str1中 
			{
				str1+=str[i];
			}
		} 
	    //存储单词 
		if(str1!="")
		{
			s1.insert(str1);
			str1=""; 
		 } 
		cout<<s1.size()<<endl;//结果输出 
	}
	
	return 0;
}


posted @ 2020-03-22 15:35  一笑奈何DF  阅读(115)  评论(0编辑  收藏  举报
作者:一笑奈何DF
出处:https://home.cnblogs.com/u/ManbaDF99/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。