(青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得 10

#include<stdio.h>floatave(float*p,intn);main(){floatb[20]={0};inti=0,j,n;scanf("%d",&... #include<stdio.h>
float ave(float *p,int n);
main()
{
float b[20]={0};
int i=0,j,n;
scanf("%d",&n);
while(n>2&&n<=100)
{
for(j=0;j<n;j++)
scanf("%f",&b[j]);
printf("%.2f\n",ave(b,n));
scanf("%d",&n);
}
}

float ave(float *p,int n)
{
float sum=0,average,max=0,min=999;
int i;
for(i=0;i<n;i++)
{
if(min>*(p+i)) min=*(p+i);
if(max<*(p+i)) max=*(p+i);
sum+=*(p+i);
}
average=(sum-max-min)/(n-2);
return average;

}
不知道为什么,程序能够运行但是,在acm 中 这道题目做好后提交得到的结果是wronganswer。请问这是神马回事
展开
百度网友c19c0d0
2012-01-12 · TA获得超过1537个赞
知道小有建树答主
回答量:464
采纳率:0%
帮助的人:430万
展开全部
已AC
#include<stdio.h>
float ave(float *p,int n);
main()
{
float b[200];//n最大是100,你的数组开小了。。
int i=0,j,n;
while(scanf("%d",&n)!=EOF)//要读入到文件结束。
{
for(j=0;j<n;j++)
scanf("%f",&b[j]);
printf("%.2f\n",ave(b,n));
}
}

float ave(float *p,int n)
{
float sum=0,average,max=0,min=999;
int i;
for(i=0;i<n;i++)
{
if(min>*(p+i)) min=*(p+i);
if(max<*(p+i)) max=*(p+i);
sum+=*(p+i);
}
average=(sum-max-min)/(n-2);
return average;

}
木有人类的世界
2013-05-05 · TA获得超过131个赞
知道答主
回答量:58
采纳率:0%
帮助的人:15.8万
展开全部
神马???????????、
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式