#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; }
?