题目特点:输入几个数字,个数不确定。输入不同需求不同
涉及知识:<sstream>(get到了新知识) ,string 与 int 转换 string依据空格切片
代码:
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
void display1(int x)
{
for(int i=1;i<=x;i++){
cout<<i;
if(i!=x){
cout<<" ";
}
}
cout<<endl;
}
void display2(int x,int y)
{
if(x<=y){
for(int i=x;i<=y;i++){
cout<<i;
if(i<y){
cout<<" ";
}
}
}else{
for(int i=x;i>=y;i--){
cout<<i;
if(i>y){
cout<<" ";
}
}
}
cout<<endl;
}
void display3(int x,int y,int t)
{
if(x<=y){
for(int i=x;i<=y;){
cout<<i;
i = i+t+1;
if(i<=y){
cout<<" ";
}
}
}else{
for(int i=x;i>=y;){
cout<<i;
i = i-t-1;
if(i>=y){
cout<<" ";
}
}
}
cout<<endl;
}
int main()
{
string str;
while(getline(cin,str)){
if(str=="0"){
return 0;
}else{
istringstream its(str);
stringstream stream;
int arr[1000],t=0;
string s;
while(its>>s){
stream<<s;
stream>>arr[t++];
stream.clear();
}
if(t==1){
display1(arr[0]);
}
else if(t==2){
display2(arr[0],arr[1]);
}
else if(t==3){
display3(arr[0],arr[1],arr[2]);
}
}
}
return 0;
}