# include "stdio.h" constintlen = 30, M= 100, n =100; Typedef 구조 {int num// 복권 번호 charname [len]; //이름 부동 점수; //Score} 플레이어 플레이어 [m]; //가수 정보 int a [m] [n]; //평가자 점수 정보 int m, n; //가수와 심사위원 수//가수 정보 및 심사위원 점수 정보 입력 void input(void){ int I, j; Printf ("가수 수:"); Scanf("%d ",& ampm); Printf ("판사 수:"); Scanf("%d ",& ampn); For(I = 0;; 나 & ltm;; I++) {players[i]. Num = I+1; Printf ("%d 번째 가수의 이름:", I+1); Scanf("%d ",& 플레이어 [나]. 이름); Printf ("%d 가수에 대한 심사위원의 점수:", I+1); For(j = 0;; J & ltn;; J++) {scanf("%d ",& AMPA [I] [j]); }}}//Average (가장 높은 점수를 제거하고, 가장 낮은 점수를 제거하고, 나머지 n-2 점의 평균 Void Calculate (void) {float max, minint I, j; For(I = 0;; 나 & ltm;; I++) {max=min=players[i]. 점수 = a [I] [0]; For (j =1; J & ltn;; J++) {players[i]. Score+= a [I] [j]; If (최대 및 lt; A [I] [j]) {max = a [I] [j]; } if(min & gt;; A [I] [j]) {min = a [I] [j]; }} if(n & gt;; 2) {플레이어 [나]. 득점 = (선수 [나]. Score-max-min)/(n-2); } else if(n & gt;; 0) {players[i]. Score/= n;; }}}//버블링 방법으로 각 플레이어의 점수를 정렬//빠른 정렬 또는 힙 정렬로 정렬하는 경우 이 단락을 다시 작성하면 됩니다. Void sort(void){ int I, j; For(I = 0;; 나<m-1; I++) {for (j = m-1; J> 나; J-) {if (플레이어 [j]. 득점> 선수 [j- 1]. 점수) {선수 tmp tmp = players [j]; 플레이어 [j]= 플레이어 [j-1]; 선수 [j-1] = tmp; }}}}//모든 원시 데이터 표시 void show_origin(void){ int I, j; Printf ("\ n"); For(I = 0;; 나 & ltm;; I++) {printf ("복권 번호: %d", 플레이어 [i]. Num); 을 눌러 섹션을 인쇄할 수도 있습니다 Printf ("이름: %d", 플레이어 [i]. 이름); Printf ("평가자 점수:"); For(j = 0;; J & ltn;; J++) {printf("%d ",a [I] [j]); } printf ("\ n"); }}//모든 가수 정보 표시 voidshow _ player (void) {int I; Printf ("\ n"); For(I = 0;; 나 & ltm;; I++) {printf ("복권 번호: %d", 플레이어 [i]. Num); Printf ("이름: %d", 플레이어 [i]. 이름); Printf ("점수: %f\n", 플레이어 [i]. 점수); }}//수상자 int main() {input () 의 정보를 표시합니다. Show _ origin (); 계산 (); Show _ player (); Sort (); 0 을 반환합니다 }