夏洛克


私信TA

用户名:SherlockObama

访问量:13015

签 名:

SherlockObama

等  级
排  名 1093
经  验 3222
参赛次数 0
文章发表 17
年  龄 0
在职情况 学生
学  校 湖北文理学院
专  业 计算机

  自我简介:

Go Go Go!!!

解题思路:1.接受带空格字符串,C++getline()可以接受带空格字符串
              2.利用STL的set集合 存储字符串类型的元素,  集合特点:  有序,不重复!

             3.stringstream临时存储输入的一行字符串,然后逐个流向要处理的字符串
注意事项:
           特别注意!! 如果不用stringstream  ,用 while(cin>>str) 会出问题,因为 后面一堆空格,没法停止!
参考代码:

#include<iostream>
#include<set>
#include<sstream> 
using namespace std;
int main(){
   string str;
   string s1;
   getline(cin,str);   //可以接受到空格的字符串 
   stringstream ss(str);  //字符串流临时存储字符串 
   set<string> s;    //该集合存储的数据类型定义成string 
   while(ss>>s1){  //从字符串流里流入这个字符串 
   s.insert(s1);  //一个个添加到set集合 
   }
   cout<<s.size();  //集合的元素 就是本题所求的不重复的个数 
return 0;
}

 

 

0.0分

3 人评分

  评论区

  • «
  • »