#include <bits/stdc++.h> using namespace std; string str; int nums[5]; int n; void getNum2(string s) { int sum = 0; for(int i = 0; i < s.length(); i++) { sum = sum * 10 + (s[i] - '0'); } nums[n++] = sum; } void getNum1() { int len = str.length(); int pre = 0; for(int i = 0; i <= len; i++) { if(str[i] == ' ' || str[i] == '\0') { string ss = str.substr(pre, i - pre); // substr两个参数分别为 起始字符 与 截取长度 getNum2(ss); pre = i + 1; } } } int main() { while(getline(cin, str) && str[0] != '0') { getNum1(); switch (n) { case 1: for(int i = 1; i <= nums[0]; i++) { if(i == 1) cout << i; else cout << " " << i; } cout << endl; n = 0; break; case 2: if(nums[0] < nums[1]) { for(int i = nums[0]; i <= nums[1]; i++) { if(i == nums[0]) cout << i; else cout << " " << i; } } else { for(int i = nums[0]; i >= nums[1]; i--) { if(i == nums[0]) cout << i; else cout << " " << i; } } cout << endl; n = 0; break; case 3: if(nums[0] < nums[1]) { for(int i = nums[0]; i <= nums[1]; i += nums[2] + 1) { if(i == nums[0]) cout << i; else cout << " " << i; } } else { for(int i = nums[0]; i >= nums[1]; i -= nums[2] + 1) { if(i == nums[0]) cout << i; else cout << " " << i; } } cout << endl; n = 0; break; default: break; } n = 0; } return 0; } |
Double click to view unformatted code.