當前位置:編程學習大全網 - 編程語言 - 各位大神請教:根據"學生成績的統計"程序,編寫壹個"歌唱比賽評分系統"的程序,思路是怎麽樣的?

各位大神請教:根據"學生成績的統計"程序,編寫壹個"歌唱比賽評分系統"的程序,思路是怎麽樣的?

好。我寫壹個給妳參考……

#include?<stdio.h>

#include?"string.h"

#include?"stdlib.h"

struct?A{

int?sid;

char?name[20];

double?score;

};

int?main(void){

struct?A?sgr[20];

double?max,min,sum,jud[10];

char?t[20];

int?i,j,sn,jn;

printf("How?many?singers?&?judges?\n");

if(scanf("%d%d",&sn,&jn)!=2?||?sn<1?||?jn<3?||?sn>20?||?jn>10){//輸入歌手和評委人數

printf("Input?error,?exit...\n");//輸入錯誤則退出

return?0;

}

printf("Input?the?informations...\n");//以下輸入評委對某歌手的打分

printf("SERI?NAME?");

for(i=0;i++<jn;printf(i<jn"?JUD%d"?:?"?JUD%d\n",i));

printf("-----------");

for(i=0;i++<jn;printf(i<jn"-----"?:?"-----\n"));

for(i=0;i<sn;i++){

printf("%3d",sgr[i].sid=i+1);

scanf("%s",sgr[i].name);

for(min=200,sum=max=j=0;j<jn;j++){

scanf("%lf",jud+j);

if(jud[j]>max)//求評委打分的最高分

max=jud[j];

if(jud[j]<min)//求評委打分的最低分

min=jud[j];

sum+=jud[j];//求總分

}

sgr[i].score=(sum-min-max)/(jn-2);//求去除最高最低分的平均值

}

printf("\nSERINAMESCOR\n-------------------\n");//輸出信息

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

printf("%3d%8s%8.2f\n",sgr[i].sid,sgr[i].name,sgr[i].score);

printf("Input?a?name?or?a?serial?number...\n");//以下按序號或姓名查詢

scanf("%s",t);

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

if(sgr[i].sid==atoi(t)?||?strcmp(t,sgr[i].name)==0){

printf("\nSERINAMESCOR\n-------------------\n");

printf("%3d%8s%8.2f\n",sgr[i].sid,sgr[i].name,sgr[i].score);

break;

}

if(i>=sn)//未查到提示

printf("No?find?\'%s\'...\n",t);

return?0;

}

  • 上一篇:雷蛇 巴塞利斯蛇和 羅技 G502 哪個比較好點
  • 下一篇:央視主播給邊哭邊打球的小女孩點贊,堅持壹件事有多難?
  • copyright 2024編程學習大全網