运动会分数统计(用C语言)

来源:百度知道 编辑:UC知道 时间:2024/06/15 14:47:57
任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)
功能要求:
1).可以输入各个项目的前三名或前五名的成绩;
2).能统计各学校总分;
3).可以按学校编号、学校总分、男女团体总分排序输出;
4).可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。
规定:输入数据形式和范围:20以内的整数(如果做得更好可以输入学校的名称,运动项目的名称)

#include <stdio.h>
  #include <stdlib.h>
  /* 链表结点 */
  typedef struct _linknode {
  int nIndex;
  int nPassword;
  struct _linknode* next;
  } NODE, *PNODE;
  /* 函数声明 */
  PNODE CreateLinkList(int* pn);
  PNODE AddNode(PNODE pHead, int index);
  PNODE DelNode(PNODE pHead, int index, int* pm);
  void SimOut(PNODE pHead, int m, int count);
  /* 主函数 */
  int main(void)
  {
  int m, n;
  PNODE pHead = CreateLinkList(&n);
  printf("Please input m: ");
  scanf("%d", &m);
  SimOut(pHead, m, n);
  return 0;
  }
  /* 创建链表,并返回头结点 */
  PNODE CreateLinkList(int* pn)
  {
  int n, i;
  PNODE p, q;
  /* 初始化头结点 */
  p = (PNODE)malloc(sizeof(NODE));
  p->nIndex = -1;
  p->nPass