c语言的题目,请给位大神解答

编程实现一评分程序,设有6位选手参赛,比赛分3个分项,每个分项独立计分,程序能接收键盘输入各选手的分项得分,存入数组中。然后对各选手的分项一得分分别以30%,30%,40%计算总分,再找出并显示总分最高选手的选手号码和总分。

我的C和C++专栏中,刚好有一篇,演讲比赛流程管理系统的博文,希望可以帮到你

#include<iostream>
#include<algorithm>
using namespace std;

struct Player{
	double num;
	double score1;
	double score2;
	double score3;
	double sum;	
}player[6];

bool JA(struct Player a, struct Player b){
	return a.sum > b.sum;
}

int main(){
	int i;
	for(i = 0; i < 6; i++){
		cin>> player[i].num;
		cin>> player[i].score1;
		cin>> player[i].score2;
		cin>> player[i].score3;
		player[i].sum = (player[i].score1 + player[i].score2)*0.3 + player[i].score3 * 0.4;
	}
	sort(player, player+6, JA);
	cout << player[0].num << ' ' << player[0].sum;
	return 0;
}