全红 求调
查看原帖
全红 求调
1735372
knc2024C113楼主2025/7/21 22:24

为什么会什么都输出不出 求调

#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;
}
2025/7/21 22:24
加载中...