在该 学生成绩管理系统设计中,如何做出任务三按总分由高到低进行排序的代码

在该 学生成绩管理系统设计中,如何做出任务三按总分由高到低进行排序的代码
求源码,谢谢
#include 
#include 
#include 
#define M 30
#define N 11
#define B " 学号    成绩1 成绩2 成绩3 成绩4 成绩5 成绩6 成绩7 成绩8  总分   合格"
// 预处理
int main()

{
    int i,j;
    int num_in;
    int A[M][N]={0};                                                         // 声明和定义数组A
    
    
    printf("请输入班号(2223303或2223304):");scanf("%d",&num_in);
    srand(num_in);
    
    
    //在屏幕上显示未输入数据的数组A的内容
    getchar();system("cls");
    printf("\t\t%s\n\n%s\n\n","以下显示的为定义后未输入数据的空数组",B);
    for(i=0;i<M;i++)
    {printf("%-7d",A[i][0]);
        for (j=1;j<N;j++)
            printf("%6d",A[i][j]);
        printf("\n");   }
    
    printf("\n\n\t\t\t 按  Enter 键 开始数据输入\n\t\t\t并显示输入数据后的数组内容\n");getchar();system("cls");
    
    for(i=0;i<M;i++)                                                        // 从原始数据文件读入数据,放到数组A中
    {
        A[i][0]=221900+rand()%100;
        for (j=1;j<N-2;j++)
            A[i][j]=30+rand()%70;
    }
    
    int ttt=0;
    for(i=0;i<M;i++)                                                        // 从原始数据文件读入数据,放到数组A中
    {
        ttt=A[i][0];
        for(j=i+1;j<M;j++){
            if(A[j][0]==ttt) A[j][0]+=101;
        }
    }
    
    printf("\t\t%s\n\n%s\n\n","以下显示的为输入数据后未求出总分的数组",B);
    for(i=0;i<M;i++)                                                      // 在屏幕上显示输入数据后的数组A的内容
    {printf("%-7d",A[i][0]);
        for (j=1;j<N;j++)
            printf("%6d",A[i][j]);
        printf("\n");   }
    
    // 在数组A中整理数据,既:求和 与 标记 合格否
    printf("\n\n\t\t    按 Enter 键 开始计算 总分 与 合格否\n\t\t\t并显示计算后的数组内容\n");getchar();system("cls");
    
    //任务一:在此处填写计算总分并判断是否合格的代码
    //任务一:开始
    
    
    
    
    
    //任务一:结束
    // 在屏幕上显示计算后的数据
    printf("\t\t%s\n\n%s\n\n","以下显示的为求出总分并标注合格与否的数组",B);
    
    //任务二:在此处填写显示包含总分与是否合格的完整数据的代码
    //任务二:开始
    
    
    
    
    
    //任务二:结束
    // 在屏幕上显示排序后的数据
    printf("\n\n\t\t\t按 Enter 键 开始按 总分 排序\n\t\t\t   并显示排序后的数组内容\n");getchar();system("cls");
    
    //任务三:在此处填写按总分由高到低进行排序的代码
    //任务三:开始
    
    
    
    
    
    //任务三:结束
    
    
    
    
    
    
    
    printf("\t\t\t%s\n\n%s\n\n","以下显示的为排序后的数组",B);
    
    //任务四:在此处填写显示排序后的完整数据的代码
    //任务四:开始
    
    
    
    
    
    //任务四:结束
    
    printf("\n\n\t\t按 Enter 键 把总分520及以上的学生筛选出来\n\t\t\t   并显示他们的所有数据。  \n");getchar();system("cls");
    
    printf("\t\t\t%s\n\n%s\n\n","以下显示的为筛选后的数组",B);
    
    //任务五:在此处填写显示筛选后的数据的代码
    //任务五:开始
    
    
    
    
    
    //任务五:结束
    
    printf("\n\n\t\t\t按 Enter 键 结束\n");getchar();system("cls");
    return 0;
}

用数组储存总分,然后排序就行了呀,你是不懂怎么排序吗?