Portal de título original
Idea: Primero defina cinco matrices de números de estudiantes, chino, matemáticas, inglés, y luego asigne valores a las matrices, luego use la clasificación de burbujas y las condiciones para intercambiar en tres situaciones, y finalmente imprima los cinco números de estudiantes principales y el total puntuaciones. Nota: ¡La identificación del estudiante comienza desde 1 y no 0!
Referencia de código
#include<iostream>
using namespace std;
int main(){
int n,id[300],chinese[300],math[300],english[300],total[300];
cin>>n;
for(int i = 1;i <= n;i++){
cin>>chinese[i]>>math[i]>>english[i];
total[i] = chinese[i]+math[i]+english[i];
id[i] = i;
}
for(int i = 0;i < n-1;i++){
for(int j = 1;j <= n-i;j++){
if(total[j] < total[j+1]){
swap(total[j],total[j+1]);
swap(chinese[j],chinese[j+1]);
swap(id[j],id[j+1]);
}
if(total[j] == total[j+1])
if(chinese[j] < chinese[j+1]){
swap(id[j],id[j+1]);
swap(chinese[j],chinese[j+1]);
swap(total[j],total[j+1]);
}
if((total[j] == total[j+1]) && (chinese[j] == chinese[j+1]))
if(id[j] > id[j+1]){
swap(id[j],id[j+1]);
swap(chinese[j],chinese[j+1]);
swap(total[j],total[j+1]);
}
}
}
//打印出前五名的学号和总分
for(int k = 1;k <= 5;k++)
cout<<id[k]<<" "<<total[k]<<endl;
return 0;
}