【题目】从十个评委的评分中扣除一个最高分和最低分,从而得到8个有效分,选手最后得分为8个有效分相加,求平均分,求平均值。要求从键盘输入10个评委的评分输出选手的最后得分,结果保留两位小数。
【要点及分析】
1.找出最高分和最低分
利用数组和for循环先将10个数按从小到大的方式输出,最高分为a[9],最低分为a[0]
2.相加求平均值
sum等于从a[1]加到a[8]的和。然后再让sum除以8。
3.注意保留两位小数
【解决方案】
#include<stdio.h>
#include<math.h>
int main()
{
int a[10];
int i, j, t, sum;
float aver;
printf("input 10numbers :\n");
for (i = 0; i < 10; i++)
scanf("%d," & a[i]);
printf("\n");
for (j = 0; i < 9; i++)
for(i=0 ;i<9-j ;i++)
if (a[i] > a[i + 1])
{
t = a[i]; a[i] = a[i + 1]; a[i + 1] = t;
}
printf("the sorted numbers :\n");
for (i = 0; i < 10; i++)
printf("%d", a[i]);
printf("\n");
sum = a[1] + a[2] + a[3] + a[4] + a[5] + a[6] + a[7] + a[8];
printf("sum=%d\n", sum);
aver = sum / 8.0;
printf("aver=%d", aver);
return 0;
}
注:本次代码编写为学校的作业。代码写的不好,见谅。有问题可以提出来,我会尽量解决。