关于C语言结构体多条件排序的问题

关于C语言结构体的。 struct _score { int name[11]; int a; int b; int c; int sum; } 对这个结构体 按照sum>a>b>c的优先级顺序进行排序,就是sum相同的话比a这样子,要如何实现呢? (ps:我是初学者基础很差,希望代码能简单点,有注释最好啦)

 struct _score data[N];
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N - 1; j++)
{
if (data[j].sum < data[j + 1].sum) continue;
if (data[j].sum == data[j + 1].sum && data[j]. a < data[j + 1].a) continue;
if (data[j].sum == data[j + 1].sum && data[j].a == data[j + 1].a && data[j].b < data[j + 1].b) continue;
if (data[j].sum == data[j + 1].sum && data[j].a == data[j + 1].a && data[j].b == data[j + 1].b && data[j].c == data[j + 1].c)) continue;
struct _score t = data[j];
data[j] = data[j + 1];
data[j + 1] = t;
}
}