View Code of Problem 99

#include<vector>
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
vector<int> getData(string a) {
	vector<int> re;
	int bg, end,flag=1;//flag=0表示bg有值
	int temp=0;
	for (int i = 0; i < a.size(); i++)
	{
		if (flag == 1 && a[i] != ' ') {
			bg = i;
			flag = 0;
		}
		if ((i != a.size() - 1 && flag == 0 && a[i] != ' ' && a[i + 1] == ' ')||i==a.size()-1) {
			end = i;
			flag = 1;
			if (bg != end) {
				temp = (a[bg] - '0') * 10 + a[end]-'0';
			}
			else {
				temp =a[end]-'0';
			}
			re.push_back(temp);
		}
	}
	return re;
}
int main() {
	vector <int>data,re;
	string a;
	while (getline(cin, a)) {
		if (a == "0")break;
		data = getData(a);//获取数字
		if (data.size() == 1) {
			for (int i = 1; i <=data[0]; i++)
			{
				cout << i << " ";
				if (i == data[0])cout << endl;
			}
		}
		else if (data.size() == 2) {
			sort(data.begin(), data.end());
			for (int i = data[0]; i <= data[1]; i++)
			{
				cout << i << " ";
				if (i == data[1])cout << endl;
			}
		}
		else {
			sort(data.begin(), data.begin()+1);
			for (int i = data[0]; i <= data[1]; i+=data[2]+1)
			{
				cout << i << " ";
				if (i == data[1])cout << endl;
			}
		}
	}
}

Double click to view unformatted code.


Back to problem 99