(青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得 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。请问这是神马回事 展开
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。请问这是神马回事 展开
2个回答
展开全部
已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;
}
#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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询