蓝桥杯十大歌手评分问题
十歌手大奖赛/*在歌星大奖赛中,有10个评委为参赛的选手打分,
分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其
余8个分数的平均值。请编写一个程序实现。题目条件不变,
但考虑同时对评委评分进行裁判,即在10个评委中找出最公平和最不
公平...在歌星大奖赛中,有10个评委为参赛的选手打分,分数为
1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个
分数的平均值。请编写一个程序实现。
代码实现:
package lanqioa2020;
import java.util.Arrays;
import java.util.Scanner;
/*
* 十,歌手大奖赛/*在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。
* 选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。
* 请编写一个程序实现。题目条件不变,但考虑同时对评委评分进行裁判,
* 即在10个评委中找出最公平和最不公平...在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。
* 选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现
*/
public class 十大歌手评判 {
public static void main(String[] args) {
int arr[]=new int[10];
int sum8=0;
Scanner in=new Scanner(System.in);
System.out.println("请输入10个评委的评分:");
for (int i = 0; i < 10; i++) {
arr[i]=in.nextInt();
}
for (int i = 1; i < 9; i++) {
sum8+=arr[i];
}
Arrays.sort(arr);
System.out.println("平均分:"+sum8/8);
int max=arr[9];
int min=arr[0];
int unfair;
if((max-(sum8/8))>((sum8/8)-min)) {
unfair=max;
}
else {
unfair=min;
}
System.out.println("最不公平:"+unfair);
int fair;
if((arr[5]-(sum8/8))>((sum8/8)-arr[4])) {
fair=arr[4];
}
else {
fair=arr[5];
}
System.out.println("最公平:"+fair);
}
}
结果:
请输入10个评委的评分:
10 12 30 40 50 60 70 82 89 100
平均分:54
最不公平:100
最公平:50
C语言:
#include<stdio.h>
int main(void){
int integer,i,max,min,sum;
max=-32768;min=32767;sum=0;
for(i=1;i<=10;i++)
{printf("Inputnumber%d=",i);
scanf("%d",&integer);
sum+=integer;
if(integer>max)max=integer;
if(integer<min)min=integer;}
printf("Canceledmaxscore:%d\nCanceledminscore:%d\n",max,min);
printf("Averagescore:%d\n",(sum-max-min)/8);}

该程序用于计算10位评委给出的评分中,选手的最终得分,即去掉最高分和最低分后的平均分。同时,程序还判断了评委的公正性,找出评分中最公平和最不公平的评委。输入10个评分后,输出平均分、最不公平的评分及最公平的评分。示例中,输入的评分导致平均分为54,最不公平的评委给出了100分,最公平的评委评分为50。





