打印本文 打印本文  关闭窗口 关闭窗口  
C趣味程序百例(02)歌星大奖赛
作者:佚名  文章来源:不详  点击数  更新时间:2008/4/18 13:59:47  文章录入:杜斌  责任编辑:杜斌

4.歌星大奖赛
    在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。
*问题分析与算法实现
    这个问题的算法十分简单,但是要注意在程序中判断最大、最小值的变量是如何赋值的。
*程序说明与注释
#include<stdio.h>
void main()
{
    int integer,i,max,min,sum;
    max=-32768;                  /*先假设当前的最大值max为C语言整型数的最小值*/
    min=32767;                   /*先假设当前的最小值min为C语言整型数的最大值*/
    sum=0;                       /*将求累加和变量的初值置为0*/
    for(i=1;i<=10;i++)
    {
        printf("Input number %d=",i);
        scanf("%d",&integer);          /*输入评委的评分*/
        sum+=integer;                  /*计算总分*/
        if(integer>max)max=integer;    /*通过比较筛选出其中的最高分*/
        if(integer<min)min=integer;    /*通过比较筛选出其中的最低分*/
    }
    printf("Canceled max score:%d\nCanceled min score:%d\n",max,min);
    printf("Average score:%d\n",(sum-max-min)/8);     /*输出结果*/
}
*运行结果
    Input number1=90
    Input number2=91
    Input number3=93
    Input number4=94
    Input number5=90
    Input number6=99
    Input number7=97
    Input number8=92
    Input number9=91
    Input number10=95
    Canceled max score:99
    Canceled min score:90
        Average score:92
*思考题
    题目条件不变,但考虑同时对评委评分进行裁判,即在10个评委中找出最公平(即评分最接返平均分)和最不公平(即与平均分的差距最大)的评委,程序应该怎样实现?
打印本文 打印本文  关闭窗口 关闭窗口