标题:评委给5位选手打分,去掉最高分和最低分,最后求平均分,求看看哪里写错了
只看楼主
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2276
专家分:10647
注 册:2015-3-19
得分:0 
回复 10楼 谢高封
去掉else试试

剑栈风樯各苦辛,别时冰雪到时春
2015-05-26 20:01
calix
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:249
专家分:1442
注 册:2015-5-4
得分:0 
回复 10楼 谢高封
什么问题?
2015-05-26 20:11
calix
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:249
专家分:1442
注 册:2015-5-4
得分:0 
哦,我发现了,精度问题,不好意思
p = (float)(s - a[min] - a[max])/3;
2015-05-26 20:32
longwang666
Rank: 1
等 级:新手上路
帖 子:6
专家分:3
注 册:2015-5-26
得分:3 
#include<stdio.h>
void main()
{
    int a[5],i,max,min,s=0;
    double p;
    printf("请输入分数:");
    for(i=0;i<5;i++)
    {
        scanf("%d",&a[i]);
    }
    max=min=0;
    for(i=1;i<5;i++)
    {
        if(a[i]>a[max])
        {
            max=i;
        }
        else if(a[i]<a[min])
        {   
            min=i;
        }
    }
    for(i=0;i<5;i++)
    {
        s=s+a[i];
    }
    p=(float)(s-a[max]-a[min])/3;
    printf("输出去掉一个最高分和一个最低分后的平均值:");
    printf("%lf\n",p);
}\\稍微修改了一下
2015-05-26 22:50
jianda999
Rank: 2
等 级:论坛游民
帖 子:8
专家分:33
注 册:2009-5-25
得分:3 
另一种解题思路
#include <stdio.h>
#define N 5
void main(void)
{
    int score[N],i,maxi,mini,sum=0;

    for (i=0;i<N;i++) scanf("%d",&score[i]);

    maxi=mini=0;
    for (i=1;i<N;i++)
    {
        if (score[i]>score[maxi]) maxi=i;
        else if (score[i]<score[mini]) mini=i;
    }

    for (i=0;i<N;i++)
        if (i!=maxi && i!=mini) sum+=score[i];

    printf("Average score: %.2f\n",(float)sum/(N-2));
}
2015-05-26 23:07
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
得分:3 
老调重谈

授人以鱼,不如授人以渔
2015-05-27 12:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-445774-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.753560 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved