须考虑题干中提到“若用户选择的序号不存在”,可能会大于上限,也可能会小于等于0的情况
在一串字符中选取特定字符作为输入
#include <iostream> #include <cstdio> #include <string> using namespace std; string a[11]; string b[11]; string c[11]; int main(){ char ch; ch=cin.get(); int i=0; int k; int t1,t2,t3,t4,t5; int tmp1,tmp2,tmp3; while(ch!='\n'){ if(ch=='['){ getline(cin,a[i],']'); if(a[i]==""){ a[i]="]"; } i++; } ch=cin.get(); } tmp1=i; cin.sync(); i=0; ch=cin.get(); while(ch!='\n'){ if(ch=='['){ getline(cin,b[i],']'); if(b[i]==""){ b[i]="]"; } i++; } ch=cin.get(); } tmp2=i; cin.sync(); i=0; ch=cin.get(); while(ch!='\n'){ if(ch=='['){ getline(cin,c[i],']'); if(c[i]==""){ c[i]="]"; } i++; } ch=cin.get(); } tmp3=i; cin.sync(); cin>>k; for(int i=0;i<k;i++){ cin>>t1>>t2>>t3>>t4>>t5; if(t1>tmp1||t5>tmp1||t2>tmp2||t4>tmp2||t3>tmp3){ cout<<"Are you kidding me? @\\/@"<<endl; } else if(t1<=0||t2<=0||t3<=0||t4<=0||t5<=0){ cout<<"Are you kidding me? @\\/@"<<endl; } else{ cout<<a[t1-1]<<"("<<b[t2-1]<<c[t3-1]<<b[t4-1]<<")"<<a[t5-1]<<endl; } } return 0; }