當前位置:編程學習大全網 - 編程軟體 - 用C語言設計壹個競賽評分程序,要求用數組的知識!!

用C語言設計壹個競賽評分程序,要求用數組的知識!!

#include <stdio.h>

#define N 3 //選手數

#define M 5 //評委數

void main(void)

{

char name[N][10];//選手名稱

int max[N]={-1},min[N]={101},score[N][M],i,j,temp,sort[N];

float ave[N]={0};//平均分

for (i=0;i<N;i++)

{

printf("輸入第%d個選手名稱:",i+1);

scanf("%s",&name[i]);//輸入名稱

for(j=0;j<M;j++)

{

printf("輸入第%d位評委的分數(為0-100的正整數):",j+1);

scanf("%d",&score[i][j]);//依次輸入評分

if (score[i][j]<0||score[i][j]>100)

{//判斷輸入評分是否符合要求

do{

printf("輸出錯誤請重新輸入");

scanf("%d",&score[i][j]);

} while (score[i][j]<0||score[i][j]>100);

}

if (max[i]<score[i][j])max[i]=score[i][j];

if (min[i]>score[i][j])min[i]=score[i][j];

ave[i]+=score[i][j];//統計總分

sort[i]=i;//記錄選手序號

}

ave[i]=(ave[i]-max[i]-min[i])/3;//求去掉最高分和最低分後的平均分

}

for(i=0;i<N-1;i++)//利用選擇法排序按平均分高到低將選手所在序號在sort[]數組中的順序

for(j=i+1;j<N;j++)

if (ave[i]<ave[j])

{

temp=sort[i];

sort[i]=sort[j];

sort[j]=temp;

}

printf("No\t name \t avg \t max \t min \n");

for(i=0;i<N;i++)//依次輸出結果

printf("%2d\t%5s\t%6.2f\t%3d\t%3d\n",i+1,name[sort[i]],ave[sort[i]],max[sort[i]],min[sort[i]]);

}

  • 上一篇:南京市浦口區中等專業學校的開設的專業
  • 下一篇:青島招聘老師的要求
  • copyright 2024編程學習大全網