c语言的问题,求帮。

在这里我们需要对N个男人进行排序,规则如下:
每个男人有3个属性,ACM成绩,金钱,人品。
优先按照ACM成绩由大到小排名,成绩相同的则按照金钱由大到小排序,金钱相同的则按照人品有大到小排序。
Input
对于每组测试数据:
第一行,输入一个整数N表示有N个男人。(1 <= N <= 1000)
接下来N行,每行3个数字,表示该男人的ACM成绩,金钱,人品。(0 <= ACM成绩、金钱、人品 <= 10^9)

处理到文件结束
Output
对于每组测试数据:
输出N行,每行输出该男人的ACM成绩,金钱、人品。
Sample Input
3
100 50 1000000000
1000000000 50 100
10 50 100

Sample Output
1000000000 50 100
100 50 1000000000
10 50 100

这样行吗
#include <stdio.h>
int main()
{
int a,b,c[1000][3],d[3],n;
scanf("%d",&n);
for(a=0;a<n;a++)
{
for(b=0;b<3;b++)
{
scanf("%d",&c[a][b]);
}
}
for(a=1;a<n;a++)
{
if(c[a][0]>c[a-1][0])
{
for(b=0;b<3;b++)
{
d[b]=c[a][b];
c[a][b]=c[a-1][b];
c[a-1][b]=d[b];
}
}
}
for(a=0;a<n;a++)
{
for(b=0;b<3;b++)
{
printf("%d ",c[a][b]);
}
printf("\n");
}
return 0;
}