为什么会什么都输出不出 求调
#include <iostream>
#include <cmath>
using namespace std;
struct stu {
string name;
int chinese;
int math;
int english;
int total;
}a;
struct name {
string n1;
string n2;
}b;
int main ( ) {
int n;
int q = 0;
stu a[1010];
name b[1010];
cin >> n;
for (int i = 0; i<n; ++i){
cin >> a[i].name >> a[i].chinese >> a[i].math >> a[i].english;
a[i].total = a[i].chinese + a[i].math + a[i].english;
for (int j = 0; j<i; ++j){
if (abs(a[i].chinese - a[j].chinese) <= 5 && abs(a[i].math - a[j].math) <= 5 && abs(a[i].english - a[j].english) <= 5 && abs(a[i].total - a[j].total) <= 10 ){
if (q<1009){
if ( a[i].name < a[j].name ) {
b[q].n1 = a[i].name;
b[q].n2 = a[j].name;
}else{
b[q].n1 = a[j].name;
b[q].n2 = a[i].name;
}
++q;
}
}
}
}
for (int w = 0; w<1007; ++w){
for (int e = 0; e<1007; ++e){
if (b[e].n1 == b[e+1].n1 ){
if(b[e].n2 < b[e+1].n2 ){
}else{
string y = b[e].n2;
b[e].n2 = b[e+1].n2;
b[e+1].n2 = y;
}
}
if(b[e].n1 > b[e+1].n1 ){
string y = b[e].n2;
b[e].n2 = b[e+1].n2;
b[e+1].n2 = y;
string u = b[e].n1;
b[e].n1 = b[e+1].n1;
b[e+1].n1 = u;
}
}
}
for (int y = 0; y<1005; ++y){
if(b[y].n1 == "") continue;
cout << b[y].n1 << " " << b[y].n2 << endl;
}
return 0;
}