解题思路: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语言程序设计教程(第三版)课后习题6.11 (C++代码)(有个库函数叫sqrt)浏览:981 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:670 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)for循环浏览:1178 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:568 |
Wu-求圆的面积 (C++代码)浏览:1994 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:583 |
1157题解浏览:769 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:750 |
矩阵加法 (C语言代码)浏览:1768 |
第三届阿里中间件性能挑战赛-总决赛亚军比赛攻略浏览:1170 |