大家看看我这个C程序!!高分啊!!高手进!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/13 06:39:10
我的这个程序是这样的:
参加运动会有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).可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。

现在的主要问题就是 ,不知道怎么算出"男女团体总"和"学校编号查询学校某个项目的情况"
我的这个程序只用了一个链表,请问高手门怎么解决这两个问题啊!!!分数不是问题!!!!最主要的还是怎么算出"男女团体总"
由于字数原因,我把菜单,插入,删除,查询,打印模块删除了!!!
#include <stdio.h>
#include <string.h>
#include <malloc.h>
#include <stdlib.h>
#define NULL 0
#define MaxSize 10
typedef struct athlete
{
char name[10];
int score;
}ATH;
typedef struct school
{
int item;
int num[MaxSize];
float menscore;
float womenscore;
float totalscore;
ATH athlete[MaxSize];
struct school *next;
}SCH;
SCH *head;
int n=0;
int schnum;msnum

1,具我所知你的链表结点数据格式为:
项目号,第一名到第n名的学校编号,男子成绩,女子成绩,总成绩,第一名姓名及成绩,第n名姓名及成绩.我们知道项目与学校实体之间是多对多联系,所以男子成绩,女子成绩,总成绩放到结点数据里就有点蹊跷了.你的结构体命名成SCH有点误导,可能命名成PROJECT更合适点。
2,你的init()函数只创建了一个结点,不能算链表。而且头指针没有保留下来,应把head=NULL;语句放到外面,不然每产生一个结点就不见了,我估计你在其他的地方也调用了init(),比如你说的菜单选择。
可以把完整的源程序发到我的邮箱:blue_fire2008@163.com
我们讨论,你也可以把你的意思说一下!!可能我对哪方面理解错了!

我是学java的,对c不太了解

这个程序很适合用oop来做啊

看biue_fire2008说你的链表放了",第一名到第n名的学校编号,男子成绩,女子成绩,总成绩,第一名姓名及成绩,第n名姓名及成绩"等等乱七八糟的数据,而且只有一个链表.
这些数据没有什么关联,放在一起不太合适.

把成绩放到相应的类里面就简单多了.

http://jpkc.szpt.edu.cn/cyy/

这里有很多高手

太难了```不明白``

o