#include<stdio.h>
#include<math.h>
#include <conio.h>
#include <process.h>
#define n 2//学校数目
#define m 1//男子项目数目
#define w 1//女子项目数目
#define null 0
typedef struct
{
int itemnum; //项目编号
int top; //取名次的数目
int range[5]; //名次
int mark[5]; //分数
}itemnode; //定义项目结点的类型
typedef struct
{
int schoolnum; //学校编号
int score; //学校总分
int mscore; //男团体总分
int wscore; //女团体总分
itemnode c[m+w]; //项目数组
}headnode;//定义头结点类型
headnode h[n];//定义一个头结点数组
void inputinformation() //输入信息,建立系统
{
int i,j,k,s;
for(i=0;i<n;i++)
{
h[i].score=0;
h[i].mscore=0;
h[i].wscore=0;
} //初始化头结点
for(i=0;i<n;i++)
{
printf("*****学校编号:");
scanf("%d",&h[i].schoolnum); //输入头结点信息
for(j=0;j<m+w;j++)
{
printf("*****项目编号:");
scanf("%d",&h[i].c[j].itemnum);
printf("*****取前3名or前5名:");
scanf("%d",&h[i].c[j].top);
printf("*****获得几个名次:");
scanf("%d",&k); //输入项目信息
for(s=0;s<5;s++)
h[i].c[j].range[s]=0, h[i].c[j].mark[s]=0; //初始化排名和分数
for(s=0;s<k;s++)
{
printf("*****名次:");
scanf("%d",&h[i].c[j].range[s]); //输入所获名次信息
if(h[i].c[j].top==3)
switch(h[i].c[j].range[s])
{
case 0: h[i].c[j].mark[s]=0; break;
case 1: h[i].c[j].mark[s]=5; break;
case 2: h[i].c[j].mark[s]=3; break;
case 3: h[i].c[j].mark[s]=2; break;
}
else
switch(h[i].c[j].range[s])
{
case 0: h[i].c[j].mark[s]=0; break;
case 1: h[i].c[j].mark[s]=7; break;
case 2: h[i].c[j].mark[s]=5; break;
case 3: h[i].c[j].mark[s]=3; break;
case 4: h[i].c[j].mark[s]=2; break;
数据结构:运动会分数统计
最新推荐文章于 2024-06-20 16:52:08 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)