C 歌手大赛实例
有十个选手参加歌唱比赛,十个裁判对每个选手的演唱进行打分,去掉一个最高分,去掉一个最低分,剩下分数的平均值最为每位选手的最后成绩 要求:1、采用结构体定义每个选手的参赛编号,姓名以及十个裁判打出的分数; 2、从键盘输入每个选手的相关信息:参赛编号,姓名和十个得分; 3、计算每位选手的最后得分,并按分数由高到低排序; 4、查询功能:输入参赛选手的编号或姓名,便可输出该选手的得分以及排名;
源码如下:
#include <stdio.h> void ShowSingerData(); void AddNewSingeData(); #define USER_LEN 16 #define SOCRE_LEN 10 #define MAX_SINGER 10 struct s_Singer { float avgScore ; // 歌手平均分 int score[SOCRE_LEN] ; // 歌手分数记录 int num; // 参赛编号 char name[ USER_LEN ] ; // 歌手名字 struct s_Singer* pNext ; struct s_Singer* pPrev ; }; static int g_CurSingerNum ; // 当前歌手编号 static struct s_Singer g_Singers[MAX_SINGER]; // 参赛的歌手 static struct s_Singer* g_SingerList; // 比赛后的歌手排名表 void ShowCmd() { char cmd = '