洛谷P5738 【深基7.例4】歌唱比赛经典解法

本文介绍了一个使用C语言实现的简单评分系统。该系统通过计算每个选手去掉最高分和最低分后的平均得分来决定最终成绩,并找出最高平均分的选手。文章提供了完整的源代码,包括定义数组存储分数、计算最小值、最大值及平均值的方法。
#include<stdio.h>
int a[101][21], n, m;
double b[101];
double Min(int* p) {
	int i, s;
	for (i = 0, s = *p; i < m; i++)
		if (*(p + i) < s)
			s = *(p + i);
	return((double)s);
}
double Max(int* p) {
	int i;
	int s;
	for (i = 0, s = *p; i < m; i++)
		if (*(p + i) > s)
			s = *(p + i);
	return((double)s);
}
double Max2(double* p) {
	int i;
	double s;
	for (i = 0, s = *p; i < n; i++)
		if (*(p + i) > s)
			s = *(p + i);
	return(s);
}
double score(int s) {
	int i;
	double t = 0.0;
	for (i = 0; i < m; i++)
		t += a[s][i];
	t = (t - Min(a[s]) - Max(a[s])) / (m - 2);
	return(t);
}
int main() {
	int i, j;
	scanf("%d%d", &n, &m);
	for (i = 0; i < n; i++)
		for (j = 0; j < m; j++)
			scanf("%d", &a[i][j]);
	for (i = 0; i < n; i++)
		b[i] = score(i);
	printf("%.2lf", Max2(b));
	return(0);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值