程序设计二 歌手大奖赛积分(二)

原创 2017年01月04日 11:11:10

题目描述:

进一步完善(1)的程序。输入时,难免有录入错误发生,如果输入的成绩不在0-10之间

,要求用户立即重新输入(在函数calScore中修改);一次运行程序只计算一位选手成绩太麻烦

,要求输出当前选手的最后得分后,提示“按任意键计算下一位选手的成绩,退出请选择N:”

如果输入的不是N或n,可以为下一位选手计算成绩(在main函数中进行控制即可)。


程序:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
double max;//在这里做全局变量,也可以直接放入calScore函数中
double min;
double sum;
void calScore(int n);
int main()
{
    int n;//评委人数
    char t;
    do
    {
    printf("输入评委人数:");
    scanf("%d",&n);
    calScore ( n);
    printf("减去一个最高分:%.2lf,减去一个最低分:%.2lf\n",max,min);
    printf("当前选手的最后得分是:%.3lf\n",sum);
    printf("****************************SUCCESS**************************\n");
    printf("按N退出,其他键继续。。。");
    printf("\n");
    fflush(stdin);
}
    while (scanf("%c",&t)=='n'||scanf("%c",&t)=='N');//输入大写还是小写都可以
    return 0;
}
void calScore(int n)//解释calScore函数
{
    int i;
    double score;//成绩为double型
     max=-1;//输入的评委的成绩大于-1,则max变为第一位评委所打分
     min=11;
     sum=0;
    printf("请输入选手的成绩(0-10)\n");
    for(i=1; i<=n; i++)//循环输入各评委所给分数
    {
             printf("第%d位评委给分:",i);
             scanf("%lf",&score);
        if(score>10||score<0)//如果输入错误继续重新输入
        {
             printf("第%d位评委给分:",i);
             scanf("%lf",&score);
        }
        //循环找出最大值和最小值
        if(score>max)
            max=score;
        if(score<min)
            min=score;
        sum=sum+score;
    }
    sum=(sum-max-min)/(n-2);//计算
    return;
}


运行结果:

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

课程设计<2>---歌手大奖赛计分程序

Copyright (c) 2016, 烟台大学计算机与控制学院 All ringts reserved. 文件名称:歌手大奖赛计分程序 作 者:王兴振 完成日期:2016年1月5日 版 本 号:未知...

c程序基本算法百例之四—歌手大奖赛评分

#include #include int main() { int integer,i,max,min,sum; max = -32768; ...

山东省第五届ACM大学生程序设计竞赛 angry_birds_again_and_again 求积分

首页比赛ProblemsRanklistStatusStatistics acmer(Yt_zp) 注销 angry_birds_again_and_again ...

山东省第五届ACM大学生程序设计竞赛-angry_birds_again_and_again(积分)

angry_birds_again_and_again Time Limit: 2000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 The probl...

歌手大奖赛管理系统

C++第12周报告(二)(改进版)编写大奖赛用的计分程序

第12周报告2-2(请在另外一篇博文中提交): 实验目的:学会使用循环控制语句解决实际问题 实验内容:编写大奖赛用的计分程序 * 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释...

hdu 2014 青年歌手大奖赛_评委会打分(java)

问题: 用数组接收输入的一组数据: int a[]=new int[n]; for(int i=0;i a[i]=cin.nextInt(); 青年歌手大奖赛_评委会打分 Time...

HDU 2014 - 青年歌手大奖赛_评委会打分(统计)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2014 要实现的算法是:求整个数组的和、在数组中找最值。 找最值,可以先把第一个元素赋给max、min变...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)