选秀节目打分,分为专家评委和大众评委

选秀节目打分,分为专家评委和大众评委,score[] 数组里面存储每个评委打的分数,judge_type[] 里存储与 score[] 数组对应的评委类别,judge_type[i] == 1,表示专家评委,judge_type[i] == 2,表示大众评委,n表示评委总数。打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分 = 专家评委平均分 * 0.6 + 大众评委 * 0.4,总分取整。如果没有大众评委,则总分 = 专家评委平均分,总分取整。函数最终返回选手得分。函数的接口:int cal_score(int score[], int judge_type[], int n)  

#include <stdio.h>
#define N 5
int cal_score(int score[], int judge_type[], int n){
	int average1 = 0, average2 = 0;//average1表示专家评委的平均分, average2表示大众平均分
	int count1 = 0, count2 = 0;
	int i;
	int sum;//总的平均分
	//不符合条件,返回-1
	while((score == NULL) || (judge_type == NULL) || (n == 0)){
		return -1;
	}

	for(i = 0; i < n; i++){
		if(judge_type[i] == 1){
			count1 ++;
			average1 += score[i];
		}
		if(judge_type[i] == 2){
			count2++;
			average2 += score[i];
		}
	}
	if(count1 == 0){
		sum = average2 / count2;
	}else if(count2 == 0){
		sum = average1 / count1;
	}else{
		average1 /= count1;
		average2 /= count2;
		sum = average1 * 0.6 + (average2 * 0.4);
	}
	return sum;
}
void main(){
	int score[N];
	int judge_type[N];
	int i;
	int scr;
	printf("输入score:\n");
	for(i = 0; i < N; i++){
		scanf("%d", &score[i]);
	}
	printf("输入对应的评委类别:\n");
	for(i = 0; i < N; i++){
		scanf("%d", &judge_type[i]);
	}
	scr = cal_score(score, judge_type, N);
	printf("平均分数是:\t%d", scr);
	getchar();
	getchar();
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值