解题思路: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 人评分
矩形面积交 (C语言代码)浏览:1514 |
printf基础练习2 (C语言代码)浏览:594 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:739 |
简单的a+b (C语言代码)浏览:495 |
震宇大神的杀毒软件 (C++代码)浏览:1118 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:802 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:1523 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:615 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:592 |
C语言程序设计教程(第三版)课后习题6.8 (C++代码)浏览:592 |