帮我看一下怎么改,我不会改。

#include<stdio.h>
typedef struct
{int no;
int math;
int yw;
}xscj;
void insertsort(xscj a[],int n)
{int no;
int math;
int yw;
}
int main()
{xscj j4[5]={{1,66,78},{2,76,83},{3,79,63},{4,69,91},{5,71,88}};
int i,n=5,xscj,yw,no,math;
printf("学号\t数学\t语文\t");
for(i=0;i<6;i++);
printf("%d\t%d\t%d\t",j4[i].no,j4[i].math,j4[i].yw);
insertsort(yw,n)
for(i=0;i<n,i++);
printf("%d\t%d\t%d\t",j4[i].no,j4[i].math,j4[i].yw);
insertsort(matn,n)
for(i=0;i<n,i++)
printf("%d\t%d\t%d\t",j4[i].no,j4[i].math,j4[i].yw);

你要实现什么功能呢

根据数学成绩排序,加测试

#include<stdio.h>
typedef struct
{
    int no;
    int math;
    int yw;
}xscj;
void insertsortbymath(xscj a[],int n)
{

    for(int j=0;j<n;j++)
    {
        for(int i=0;i<n-j-1;i++)
        {
            if(a[i].math<a[i+1].math)
            {
                xscj t=a[i];
                a[i]=a[i+1];
                a[i+1]=t;
            }
        }
    }
}
int main()
{
    xscj j4[5]={{1,66,78},{2,76,83},{3,79,63},{4,69,91},{5,71,88}};
    for(int j=0;j<5;j++)
    {
        printf("%d %d %d\n",j4[j].no,j4[j].yw,j4[j].math);
    }
    insertsortbymath(j4,5);
    for(int j=0;j<5;j++)
    {
        printf("%d %d %d\n",j4[j].no,j4[j].yw,j4[j].math);
    }
    return 0;
}