#include<vector> #include<iostream> #include<string> 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 cout << " "; } } else if (data.size() == 2) { if (data[0] < data[1]) { for (int i = data[0]; i <= data[1]; i++) { cout << i ; if (i == data[1])cout << endl; else cout << " "; } } else { for (int i = data[0]; i >= data[1]; i--) { cout << i ; if (i == data[1])cout << endl; else cout << " "; } } } else { if (data[0] < data[1]) { for (int i = data[0]; i <= data[1]; i += data[2] + 1) { cout << i ; if (i + data[2] + 1 > data[1])cout << endl; else cout << " "; } } else { for (int i = data[0]; i >= data[1]; i -= data[2] + 1) { cout << i ; if (i -data[2] -1 < data[1])cout << endl; else cout << " "; } } } } } |
Double click to view unformatted code.