提高篇第6-10课作业第二题

#include <stdio.h>
#include <stdlib.h>
//大奖赛积分,函数。
void calScore(int n);
int main( )
{
    int judge_num;
    int flag=0;
    char ch;
    while(flag==0)//这个判断保证了循环至少会执行一次
    {
        printf("输入评委人数:");
        scanf("%d",&judge_num);
        calScore(judge_num);
        printf("按任意键计算下一位选手的成绩,退出请选择N:\n");
        ch=getchar();//接收上一个语句的换行符
        ch=getchar();
        if(ch=='N'||ch=='n')
        {
            flag=1; //采用额外定义一个flag,而不是直接用ch进行判断的原因是为了便于处理其他的退出情况。
            printf("谢谢使用!\n");
        }
    }
    return 0;
}
void calScore(int n)
{
    int i;
    float score=0;
    float sum=0;
    float max=0;
    float ave=0;
    float min=10;//每次循环重新初始化max,min,sum,score
    printf("下面请评委为歌手的评分\n");
    for(i=1;i<=n;i++)
    {
        printf("请第%d位评委输入评分(1-10之间的数字):",i);
        scanf("%f",&score);
        if(score<1||score>10)
        {
            printf("分数错误,请输入1-10之间的分数\n");
            i--;//保证当前裁判的分数不会漏掉
            continue;
        }
        sum+=score;
        if(score>=max)
            max=score;
        if(score<=min)
            min=score;
    }
    ave=(sum-max-min)/(n-2);
    printf("去掉最高分%.2f,去掉最低分%.2f,当前选手的总分是%.2f,平均分为%.2f\n",max,min,sum,ave);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值