#include <stdio.h>
#include <math.h>
#include <stdbool.h>
#include <string.h>
struct student{
char name[20];
int cn;
int math;
int english;
};
void sort(char* k[],int cnt){
for(int i=0;i<cnt-1;i++){
bool flag=true;
for(int j=0;j<cnt-i-1;j++){
if(strcmp(k[j],k[j+1])>0){
char* x=k[j];
k[j]=k[j+1];
k[j+1]=x;
flag =false;
}
}
if(flag){
break;
}
}
}
int main(){
int n;
scanf("%d",&n);
struct student stu[n];
int score[n];
for(int i=0;i<n;i++){
scanf("%s %d %d %d",stu[i].name,&(stu[i].cn),&(stu[i].math),&(stu[i].english));
score[i]=stu[i].cn+stu[i].math+stu[i].english;
}
char* k[1000];
int cnt=0;
for(int i=0;i<n;i++){
int a = fabs(score[i] - score[i+1]);
int b = fabs(stu[i].cn - stu[i+1].cn);
int c = fabs(stu[i].math - stu[i+1].math);
int s = fabs( stu[i].english-stu[i+1].english);
if (a <= 5 && b <= 5 && c <= 5 && s <= 10){
k[i]=stu[i].name;
k[i+1]=stu[i+1].name;
cnt+=1;
}
}
sort(k,cnt);
for(int i=0;i<n;i++){
printf("%s %s\n",k[i],k[i+1]);
}
return 0;
}
是我这个写法怎么写,是冒泡排序慢了吗,都RE了