在歌手大奖赛中,有10个评委为参赛的选手打分,分数为1~10分。请在大奖赛计分程序基础上,增加功能,若用户输入不在0-10范围内,则立即要求重输,直到正确。
基本要求:在歌手大奖赛中,有10个评委为参赛的选手打分,分数为1~10分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。
代码及运行结果如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,b,a=0,max=1,min=1,total=0,score;
for(i=1;i<11;i++)
{
printf("请%d号评委为选手打分(1~10分)\n",++a);
scanf("%d",&b);
if(b>10||b<1)
{
i=i-1,a=a-1;
printf("您输入的分数不符合要求,请再次输入一个1~10之间的数当作您的评分\n");
continue;
}
total=total+b;
max=max>b?max:b;
min=b>min?min:b;
printf("%d号评委的打分为%d分\n",i,b);
printf("\n");
}
score=total-min-max;
printf("最后选手得分%.2f分\n",score/8.0);
return 0;
}
运行结果: