| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2252 人关注过本帖
标题:求指出哪里出错了,答案跟oj上对比小数点后两位不对,但是看不出哪里错了
取消只看楼主 加入收藏
加油啦
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2019-1-18
结帖率:0
收藏
已结贴  问题点数:20 回复次数:8 
求指出哪里出错了,答案跟oj上对比小数点后两位不对,但是看不出哪里错了
最近"老王"很开心.他在大一的时候参加过数计学院的“软件小组”。告诉你个秘密,这个小组是个好地方,不但活动精彩而且有MM。 
这不,这个小组举办了一个叫做“计算机演讲大赛”的节目。这个节目有好多人参加,这不,成绩出来了,"老王"当是很勇敢,自告奋勇接下了算出大家的总得分的任务。 
当时有7个评委,每个评委都要给选手打分,现在要求去掉一个最高分和去掉一个最低分,再算出平均分。结果精确到小数点后两位。
输入
测试数据包括多个实例。 
每组数据包括7个实数,代表评委们对该选手的评分。紧接着是选手的名字,名字的长度不超过30个字符。 
输入直到文件结束。
输出
算出每位选手名字和最终得分,结果保留两位有效数字
样例输入
10 10 10 10 10 10 9 xiaoyuanwang
0 0 0 0 0 0 0 beast

#include<stdio.h>
void sort(double *a, int l)
{
    int i, j, v;
    for(i=0;i<l-1;i++)
        for (j = i + 1; j < l; j++)
        {
            if (a[i] > a[j])
            {
                v = a[i];
                a[i] = a[j];
                a[j] = v;
            }
        }
}
int main()
{
    int i;
    char str[31];
    double a[10];
    while (scanf("%lf", &a[0]) != EOF)
    {
        double ave,sum=0.0;
        for (i = 1; i < 7; i++)
        {
            scanf("%lf", &a[i]);
        }
        scanf("%s", str);
        sort(a, 7);
        for (i = 1; i < 6; i++)
            sum += a[i];
        ave = sum / 5.0;
        printf("%s", str);
        printf(" %.2lf\n", ave);

    }
    return 0;
}


搜索更多相关主题的帖子: 小数点 输入 int for str 
2019-01-18 22:18
加油啦
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2019-1-18
收藏
得分:0 
大佬们求求你们帮助下吧
2019-01-19 12:18
加油啦
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2019-1-18
收藏
得分:0 
回复 3楼 幻紫灵心
http://acm.
2019-01-23 15:43
加油啦
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2019-1-18
收藏
得分:0 
回复 5楼 wp231957
还有个数据 a[0]在前面已经赋值了 加上这里6个 一共是输入7个数据
2019-01-24 21:12
加油啦
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2019-1-18
收藏
得分:0 
回复 6楼 豆豆的滴
有问题的.  
2019-01-24 21:14
加油啦
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2019-1-18
收藏
得分:0 
#include<stdio.h>
int main()
{
    double a[7];
    while(scanf("%lf",&a[0])!=EOF)
    {
        int c=0,b=6,i;
        double ave,sum=0.0,max,min;
        char str[31];
        for(i=1;i<7;i++)
        {
            scanf("%lf",&a[i]);
        }
        scanf("%s",str);
        max=a[0];
        min=a[6];
        for(i=0;i<7;i++)
        {
            if(max<a[i])
            {
                max=a[i];
                c=i;
            }
            if(min>a[i])
            {
                min=a[i];
                b=i;
            }

        }
        a[c]=0;
        a[b]=0;
        for(i=0;i<7;i++)
        {
            sum=sum+a[i];
        }
        ave=sum/5.0;
        printf("%s",str);
        printf(" %.2lf\n",ave);

    }


    return 0;
}
正确代码
2019-01-24 21:22
加油啦
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2019-1-18
收藏
得分:0 
#include<stdio.h>
int main()
{
    double a[7],max,min;
    while(scanf("%lf",&a[0])!=EOF)
    {
        int c=0,b=0,i,sum=0.0;
        double ave;
        char str[31];
        for(i=1;i<7;i++)
        {
            scanf("%lf",&a[i]);
        }
        scanf("%s",str);
        max=a[0];
        min=a[0];
        for(i=0;i<7;i++)
        {
            if(max<a[i])
            {
                max=a[i];
                c=i;
            }
            if(min>a[i])
            {
                min=a[i];
                b=i;
            }

        }
        a[c]=0;
        a[b]=0;
        for(i=0;i<7;i++)
        {
            sum=sum+a[i];
        }
        ave=sum/5.0;
        printf("%s",str);
        printf(" %.2lf\n",ave);

    }


    return 0;
}错误代码;
2019-01-24 21:24
加油啦
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2019-1-18
收藏
得分:0 
求解 为什么把a[0]先赋给max和min不对呢
2019-01-24 21:25
加油啦
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2019-1-18
收藏
得分:0 
求解为什么把a[0]同时赋给max和min不对呢?
2019-01-24 21:26
快速回复:求指出哪里出错了,答案跟oj上对比小数点后两位不对,但是看不出哪里错了 ...
数据加载中...
 
   



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

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