谭浩强C++课后习题45——字符串流操作

谭浩强C++课后习题45——字符串流操作

题目描述:在一个字符数组中存放了10个整数,以空格相间隔,要求将它们放到整型数组中,再按大小排序,然后再存放回字符数组中。

#include<iostream>
#include<strstream>
using namespace std;
int main() {
	char ch[50] = "12 15 30 61 0 9 10 8 25 20";
	//建立输入串流对象,并与ch关联
	istrstream strin(ch, sizeof(ch));
	int num[10];
	for (int i = 0;i < 10;i++) {
		strin >> num[i];
	}
	cout << "原数组内容:";
	for (int i = 0;i < 10;i++)
		cout << num[i] << " ";
	cout << endl;
	//冒泡排序
	int temp;
	for (int i = 0;i < 9;i++) {
		for (int j = 0;j < 9 - i;j++) {
			if (num[j] > num[j + 1]) {
				temp = num[j];
				num[j] = num[j + 1];
				num[j + 1] = temp;
			}
		}
	}
	//创建输出串流对象,并与ch关联
	ostrstream strout(ch, sizeof(ch));
	//将排序好的新数组存入字符串
	for (int i = 0;i < 10;i++)
		strout << num[i] << " ";
	//加入'\0'
	strout << endl;
	cout << "新字符串:";
	cout << ch << endl;
	return 0;
}

运行结果:
在这里插入图片描述

发布了45 篇原创文章 · 获赞 45 · 访问量 1339

猜你喜欢

转载自blog.csdn.net/weixin_45295612/article/details/105345485