结构体成绩排序遇到了一些问题

问题遇到的现象和发生背景

不知道哪里错了,

问题相关代码,请勿粘贴截图
#include<stdio.h>
#define N 100
typedef struct
{
    int yu[6];
    int shu[6];
    int wai[6];
}cj;
void input(cj s[],int n);
void sort(cj s[],int n);
int main()
{
    cj s[N];
    int n,i=0;
    scanf("%d",&n);
    input(s,n);
    sort(s,n);
    for(i=0;i<n;i++)
    {
        printf("%d\n",s[i].yu+s[i].shu+s[i].wai); 
    }
    return 0;
}
void input(cj s[],int n)
{
    int i=0;
    for(i=0;i<n;i++)
    scanf("%d%d%d",&s[i].yu,&s[i].shu,&s[i].score);
}
void sort(cj s[],int n)
{
    int i,j;
    cj temp;
    for(i=0;i<n-1;i++)
     for(j=i+1;j<n;j++) 
     {if(s[j].yu+s[j].shu+s[j].wai>s[i].yu+s[i].shu+s[i].wai)
      {      
      temp=s[i];
      s[i]=s[j];
      s[j]=temp;
      }
      
      else if(s[j].yu+s[j].shu+s[j].wai=s[i].yu+s[i].shu+s[i].wai)
      {
          if(s[j].yu>s[i].yu)
      {
      temp=s[i];
      s[i]=s[j];
      s[j]=temp;          
      }      
    } 
      }
}

运行结果及报错内容

img

我的解答思路和尝试过的方法
我想要达到的结果

#include<stdio.h>
#define N 100
typedef struct
{
int yu;
int shu;
int wai;
}cj;
void input(cj s[],int n);
void sort(cj s[],int n);
int main()
{
cj s[N];
int n,i=0;
scanf("%d",&n);
input(s,n);
sort(s,n);
for(i=0;i<n;i++)
{
printf("%d\n",s[i].yu+s[i].shu+s[i].wai);
}
return 0;
}
void input(cj s[],int n)
{
int i=0;
for(i=0;i<n;i++)
scanf("%d%d%d",&s[i].yu,&s[i].shu,&s[i].wai);
}
void sort(cj *s,int n)
{
int i,j;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1;j++)
{
if(s[j].shu+s[j].wai+s[j].yu<s[j+1].shu+s[j+1].wai+s[j+1].yu)
{
cj temp=s[j];
s[j]=s[j+1];
s[j+1]=temp;
}
}
}
}

//这是修改后的版本,有啥问题可以关注我,私信互相交流,随时回复

printf("%d\n",s[i].yu+s[i].shu+s[i].wai); 这里yu,shu,wai都是数组,不能相加的
你的结构定义是不对的,不需要用数组,改为
typedef struct
{
int yu;
int shu;
int wai;
}cj;
28行,score改成wai