关于排序算法的问题,如何解决?

数据格式:
共372行,每行为1名同学的信息。每行信息包含17列,分别为学号和16次测试成绩,以逗号分隔。各列的具体含义如下:第1列为学号,第2-8列为7次课后作业成绩,第9-15列为7次实验作业成绩,第16列为阶段性测试1成绩,第17列为阶段性测试2成绩。
加权均分计算方法:总分=课后平均成绩10%+实验平均成绩10%+阶段性测试1成绩5%+阶段性测试2成绩10%(由于计算精度问题,请严格按照此公式计算,不要合并计算)。
排序方法:要求使用冒泡排序算法,按加权均分“由大到小”排序。
测试说明
注意事项:
输入:数据文件的地址从平台右上角“数据集”-“文件路径”,按“点击复制”得到路径名。
计算:所有计算过程中的浮点数均采用双精度(double)进行定义和计算。由于计算精度问题,请严格按照:总分=课后平均成绩10%+实验平均成绩10%+阶段性测试1成绩5%+阶段性测试2成绩10%。切勿合并计算
输出:输出仅输出到屏幕,无需输出至文件。输出格式同输入的文件数据格式,每行增加一列为“加权均分”列(该列保留2位小数)。

冒泡排序