输出全都是0,想知道哪里出了问题?


#include<stdio.h>
struct grade
{
    char name[10];
    int yu;
    int shu;
    int ying;
    int sum;
};
int main()
{
    int n;
    while (scanf_s("%d", &n) == 1)
    {
        struct grade list[105];
        for (int i = 0; i < n; i++)
        {
            scanf_s("%s %d %d %d", list[i].name, &list[i].yu, &list[i].shu, &list[i].ying);
            list[i].sum = list[i].yu + list[i].shu + list[i].ying;
        }
        struct grade m;
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
            {
                if (list[i].sum < list[j].sum)
                    m= list[i];
                    list[i]= list[j];
                    list[j]= m;
            }
        }
        for (int i = 0; i < 3; i++)
        {
         printf("%s %d\n",list[i].name,list[i].sum);
        }
        printf("\n");
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
            {
                if (list[i].yu < list[j].yu)
                    m = list[i];
                list[i] = list[j];
                list[j] = m;
            }
        }
        for (int i = 0; i < 3; i++)
        {
            printf("%s %d\n", list[i].name, list[i].yu);
        }
        printf("\n");
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
            {
                if (list[i].shu < list[j].shu)
                    m = list[i];
                list[i] = list[j];
                list[j] = m;
            }
        }
        for (int i = 0; i < 3; i++)
        {
            printf("%s %d\n", list[i].name, list[i].shu);
        }
        printf("\n");
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
            {
                if (list[i].ying < list[j].ying)
                    m = list[i];
                list[i] = list[j];
                list[j] = m;
            }
        }
        for (int i = 0; i < 3; i++)
        {
            printf("%s %d\n", list[i].name, list[i].ying);
        }
        printf("\n");
        }
    }

输出全都是0
想知道哪里出了问题?

scanf_s("%s %d %d %d", list[i].name,20, &list[i].yu, &list[i].shu, &list[i].ying);