编程介的小学生 2019-02-06 20:45 采纳率: 20.5%
浏览 4549

C语言输入得分,去掉一个最高分一个最低分,计算平均分

Problem Description
青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。

Input
输入数据有多组,每组占一行,每行的第一个数是n(2<n<=100),表示评委的人数,然后是n个评委的打分。

Output
对于每组输入数据,输出选手的得分,结果保留2位小数,每组输出占一行。

Sample Input
3 99 98 97
4 100 99 98 97

Sample Output
98.00
98.50

  • 写回答

1条回答 默认 最新

  • Lily的豆浆~~~ 2019-02-06 20:49
    关注

    程序1 :
    #include
    #define N 10
    #define M 50

    //本程序对歌手的打分均限定在整数范围
    //若需处理成小数形式,只要将数据类型设定为float即可

    void main()
    {
    static char name[M+1][]={
    "";
    "singer1 name";
    ......
    "singer50 name"
    }; //50位歌手名字
    static int scores[M+1]; //50位歌手得分
    int i,j;

    for (i=1;i100))
    {
    printf("\nThe score must be less than 100 or larger than 60.\n");
    scanf("d%",&data[1]);
    }

    score=0;
    Tmax=data[1];
    Tmin=data[1];

    for (i=2;i100))
    {
    printf("\nThe score must be less than 100 and larger than 60.\n");
    scanf("d%",&data[i]);
    }

    if (data[i]Tmax)
    {
    score+=Tmax;
    Tmax=data[i];
    }
    else score+=data[i];
    }

    //直接输出去掉一个最高分及一个最低分之后的平均值
    return score/(N-2);
    }

    void sort_out(char name[M+1][],int sco[M+1])
    {
    int i,j;
    static int flag[M+1];

    //利用flag记录歌手的位次
    for (i=1;i
    #include

    #define N 6 //参赛选手人数
    #define M 5 //评委人数

    struct compete
    {
    int score[N*M]; //存放每个选手分数的数组
    char num[N]; //存放选手序号的数组

    }comp[N];

    main()
    {
    int i,j,k,max[N],min[N],average[N],sum[N]={0};

    for(i=0;imax[i])max[i]=comp[i].score[k]; //最大值放入max 中
    if(comp[i].score[k]<min[i])min[i]=comp[i].score[k]; //最小值放入min中
    }

    average[i]=sum[i]-max[i]-min[i]/M-2; //计算平均值并放入average数组
    putchar('\n');
    }

    for(i=0;i<N;i++) //打印出每个选手的得分情况
    {
    printf("\n%s号选手的得分情况如下: \n\n",comp[i].num);
    printf("%10s%10s%10s%10s\n","总分","平均分","最高分","最低分");
    printf("%10d%10d%10d%10d\n",*(sum+i),*(average+i),*(max+i),*(min+i));
    }

    getch();
    }

    评论

报告相同问题?

悬赏问题

  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料