帮忙看看我哪里错了

来源:百度知道 编辑:UC知道 时间:2024/05/10 23:25:21
#include<stdio.h>
void main()
{
float a[10],b,max,min,sum=0,aver;
for(b=0;b<10;b++)
scanf("%f",&a[b]);
max=min=a[0];
for(b=1;b<10;b++)
{ if(a[b]>max)
max=a[b];
if(a[b]<min)
min=a[b];
sum+=a[b];
}
sum=sum-max-min;
aver=sum/8;
printf("%f,%f,%f",aver,max,min);
}
各位来看看啊..谢谢
补充一点...用整型COMPILE不报错,但是一运行就跳BUG?什么问题呢

问题就出在你的循环变量应该是整型的int b而不是float b
单独用int b;就好了

#include<stdio.h>
void main()
{int b;
float a[10],max,min,sum=0,aver;
for(b=0;b<10;b++)
{scanf("%f",&a[b]);
max=min=a[0];
}

for(b=0;b<10;b++)
{
if(a[b]>max)
max=a[b];
if(a[b]<min)
min=a[b];
sum=sum+a[b];
}

sum=sum-max-min;
aver=sum/8;
printf("%f,%f,%f",aver,max,min);
}

这是一个10人评分 去掉最高最低分 然后平均咯? 不错 各自的循环最好用{}标注清楚 还有 最后一个比较循环b还是应该从0开始 我用1-10试了下 没有问题了 输出5.5 10 1 小数点省略了

初学者也看不懂等高手出来回答,

楼上正确,楼主程序写的算法还不错