输出:利用两个for循环,一个从前面开始,一个从最后面开始, n-1 老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。
// #include <iostream> #include <cstdio> #include <vector> #include <algorithm> using namespace std; struct stu{ int rank,sex; string name; }tmp; int main() { int n; cin>>n; vector<stu>v; for(int i=0;i<n;i++){ int sex; string stuName; cin>>sex>>stuName; tmp.sex=sex; tmp.rank=i; tmp.name=stuName; v.push_back(tmp); } bool vis[50]={false}; for(int i=0;i<n/2;i++){ for(int j=n-1;j>i;j--){ if(v[i].sex!=v[j].sex&&vis[j]==false){ cout<<v[i].name<<" "<<v[j].name<<endl; vis[j]=true; break; } } } return 0; }