java 运动会分数统计_数据结构题目-运动会分数统计

题目描述

在很多的电视大赛中,通常当选手表演结束后,现场观众通过手中的按键对参赛选手进行投票,然后对选手获得的票数进行统计,从高到低进行降序排列,从而自动产生冠军、亚军和季军。现在要求编写一程序模拟实现上述系统的功能。

(1) 在本例中首先输入参赛选手的人数(范围为1-9个);

(2) 将选手的编号和姓名依次存入顺序表单元中;

(3) 观众通过按键进行投票,按“1”为1号选手投票,按“2”为2号选手投票,以此类推,已按零作为投票结束标志;

(4) 投票结束后进行排序,然后为每个选手计算名次,得票相同的名次也相同。

(5) 在主函数中调用菜单函数调试程序。

存储类型的定义

参赛选手信息存储类型的定义:

typedef struct node{

char name[8]; //选手姓名

int num; //选手编号

int score; //选手得分

int tax; //选手名次

}Node;

(请使用滚轮下翻)

#include

#include

typedef struct Score

{

char AthleteName[20];

char SchoolName[20];

int SchoolCode;

int Rank;

char Achievement[10];

} Score;

typedef struct Match

{

int MatchCode;

char MatchName[10];

int Top;

Score *RankList;//比赛项目里面包含着分数(储存结构层面)

} Match, *Event;

typedef struct Record

{

int MatchCode;

char MatchName[10];

int Rank;

char Achievement[10];

char AthleteName[20];

int GetScore;

} Record;

typedef struct School

{

char SchoolName[20];

int num;

int ptr;

Record *RecordList;

} School, *SchoolSheet;

typedef struct Team

{

int SchoolCode;

char SchoolName[20];

int ManTotal;

int WomanTotal;

int TeamTotal;

} Team, *All;

int n, m, w, t;

Event A;

SchoolSheet B;

All C;

int ScoreList[8] = {5, 3, 2, 7, 5, 3, 2, 1};

void Start()

{

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值