C++ STL练习题2 给定一个数字字符串,按5分隔出整型数据,从小到大输出
Sample Input
0051231232050775
 


 

Sample Output
0 77 12312320
#include<set>
#include<string>
#include<iostream>
#include <sstream>
using namespace std;

int main()
{
	string str1 = "0051231232050775";
	string tempstr;
	
	set<int> set1;
	for (int i = 0; i < str1.size(); i++)
	{
		if (str1[i] != '5')
		{
			tempstr.push_back(str1[i]);//没有遇到5,就将字符写入到临时string
		}
		else if(!tempstr.empty())//遇到5且临时string不为空
		{
			istringstream iss(tempstr);//将临时字符串加载到string输入流
			int tempint;
			iss >> tempint;//从string输入流获取一个int
			set1.insert(tempint);
			tempstr.clear();//插入到集合之后就清空
		}
	}

	for (set<int>::iterator p = set1.begin(); p != set1.end(); p++)
	{
		cout << *p << ' ';
	}
	return 0;
}
输出结果:0 77 12312320
阅读更多

扫码向博主提问

去开通我的Chat快问

tobe_numberone

学习就是一种互动
  • 擅长领域:
  • c
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tobe_numberone/article/details/80344680
文章标签: C++ STL
个人分类: c++综合运用
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

C++ STL练习题2 给定一个数字字符串,按5分隔出整型数据,从小到大输出

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭