| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1053 人关注过本帖
标题:十位评委打分,去掉最高分和最低分,求平均分。请帮忙看看哪里错了?谢谢!
只看楼主 加入收藏
cuihua2013
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2013-3-5
结帖率:20%
收藏
已结贴  问题点数:10 回复次数:8 
十位评委打分,去掉最高分和最低分,求平均分。请帮忙看看哪里错了?谢谢!
#include<stdio.h>
float result(float a[10])
{int i;float min=a[0],max=a[0],sum=0,ave;
for(i=0;i<=9;i++)
{if (a[i]>max)
max=a[i];
if (a[i]<min)
min=a[i];
sum=sum+a[i];}
ave=(sum-max-min)/8;
return ave;}
void main()
{int i;float result1,a[10];
printf("Input 10 scores:\n");
for(i=0;i<=9;i++)
scanf("%d",&a[i]);
result1=result(a);
printf("ave=%f\n",result1);}
搜索更多相关主题的帖子: 看看 谢谢 result 
2013-05-16 12:30
cuijunchao
Rank: 5Rank: 5
来 自:湖南桂东
等 级:职业侠客
威 望:3
帖 子:132
专家分:386
注 册:2012-4-4
收藏
得分:2 
scanf("%d",&a[i]);这句改为scanf("%f",&a[i]);你定义的是实型,输入却为整形这里的转换会出问题的,我的编译时是把整形变成了0,scanf这个函数也不太安全,很容易出错。
2013-05-16 13:10
秦殇
Rank: 2
等 级:论坛游民
帖 子:61
专家分:77
注 册:2013-3-13
收藏
得分:2 
scanf("%f",&a[i]);
2013-05-16 18:43
猫小喵
Rank: 2
来 自:计算机专业
等 级:论坛游民
帖 子:29
专家分:77
注 册:2013-5-12
收藏
得分:2 
#include<stdio.h>

float result(float a[])
 {
     int i;
     float min=a[0],max=a[0],sum=0,ave;

     for(i=0;i<10;i++)
     {
         if (a[i]>max)
         max=a[i];
         if (a[i]<min)
         min=a[i];
         sum=sum+a[i];
     }
     ave=(sum-max-min)/8;
     return ave;
 }
 void main()
 {
     int i;
     float result1,a[10];

     printf("Input 10 scores:\n");
     for(i=0;i<10;i++)
     scanf(" %f",&a[i]);

     result1=result(a);
     printf("ave=%f\n",result1);
 }

做一个爱编程得女生
2013-05-16 21:50
我叫沃恩
Rank: 12Rank: 12Rank: 12
来 自:Asia
等 级:贵宾
威 望:10
帖 子:1234
专家分:3865
注 册:2013-3-29
收藏
得分:2 
友情提示:注意写代码的格式!
          否则看代码会很吃力,,,,,,,,

因为我是菜鸟,所以应该被骂! 细节+坚持=成功!
2013-05-16 22:56
我叫沃恩
Rank: 12Rank: 12Rank: 12
来 自:Asia
等 级:贵宾
威 望:10
帖 子:1234
专家分:3865
注 册:2013-3-29
收藏
得分:0 
程序代码:
#include<stdio.h>
int main(void)
{
    float  max=0, min=0, n, t, sum=0;
    int i;
    scanf("%f%f",&max,&min);
    if(max<min)
    {
        t=max; max=min; min=t;
    }
    sum= max+ min;
    for( i=1;i<=8;i++)
    {
        scanf("%f",&n);
        sum += n;
        if(n>max||n<min)
        {
            if(n>max)
                max=n;
            else if(n<min)
                min=n;
        }
    }
    printf("max=%.2f min=%.2f avg=%.2f",max, min,(sum-max-min)/8);
    return 0;
}

我的笨方法!仅供参考!

因为我是菜鸟,所以应该被骂! 细节+坚持=成功!
2013-05-16 23:10
Susake
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:女儿国的隔壁
等 级:贵宾
威 望:23
帖 子:2288
专家分:6481
注 册:2012-12-14
收藏
得分:2 
1.输入10个数
2.排序
3.去掉首尾

仰望星空...........不忘初心!
2013-05-17 10:57
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:2 
思路正确,好好实现

Maybe
2013-05-18 15:21
谢高封
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-5-26
收藏
得分:0 
回复 4楼 猫小喵
你是不是没有定义函数啊??

[ 本帖最后由 谢高封 于 2015-5-26 00:52 编辑 ]
2015-05-26 00:51
快速回复:十位评委打分,去掉最高分和最低分,求平均分。请帮忙看看哪里错了?谢 ...
数据加载中...
 
   



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

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