#include<stdio.h>
#define MAX 9
#define SWAP(x,y){int t; t=x; x=y; y=t;}
/**
*标题:4. 编写一个程序,读入9个裁判所打的分数,去掉一个最高分,去掉一个最低分,求剩余7个分数的平均值(要求用数组实现)。
*说明:此题可以将输入9个分数放到一个数组中通过排序算法排列下,再取数组中1到8的数求平均值(也就是剩余7个分数的平均值)
*作者:张玉
*创建时间:2010-11-08 22:28
**/
int main(void){
int number[MAX] = {0};
int i, k, j, score, flag = 1;
float avr = 0,sum = 0;
for(i = 0; i < MAX; i++){
printf("请输入第 %d 个同学的分数:",i+1);
scanf("%d",&score);
number[i] = score;
}
for(i = 0; i < MAX-1 && flag == 1; i++){
flag = 0;
for(j = 0; j < MAX-i-1; j++){
if(number[j+1] < number[j]){
SWAP(number[j+1],number[j]);
flag = 1;
}
}
}
printf("分数排行榜\n");
for(k = 0; k < MAX; k++)
printf("%d ",number[k]);
printf("\n计算平均分规则去掉一个最高分,去掉一个最低分,求剩余%d个分数的平均值\n",MAX-2);
for(i=1;i<MAX-1; i++)
sum += number[i];
avr = sum/7;
printf("平均分:%.2f\n",avr);
return 0;
}
?