在歌星大奖赛中,有10个评委为参赛选手打分,分数为1到100分。选手最后得分为去掉一个最高分和一个最低分后其余8个分数的平均值。编写程序实现。
#include//编译通过,但是录入分数时出错。 int main() { float a[10]={ 0.0}; float num=0.0; int i; for(i=0;i<10;i++) //录入分数 { printf("input the %d scores:",i+1); scanf("%f",a[i]); } int j; float tmp; for(i=0;i<9;i++) //冒泡排序 { for(j=0;j<9-i;j++) { if(a[j]>a[j+1]) { tmp=a[j]; a[j]=a[j+1]; a[j+1]=a[j]; } } } for(i=2;i<10;i++) //求8个分数的平均值 { num+=a[i]; } printf("the averg is: %f\n",num/8); return 0; }
正确解法:
#includeint main() { int integer,i,max,min,sum; max=-32768; //初始最大值为-32768 min=32767; //初始最小值为32767 sum=0; for(i=1;i<=10;i++) //录入分数 { printf("input number %d:",i); scanf("%d",&integer); sum+=integer; if(integer>max) //筛选出最大值 { max=integer; } if(integer