📄 运动会分数统计.cpp
字号:
#include <stdio.h>
#include <stdlib.h>
typedef struct single{
int school,item,mingci,score;
char name[20];
struct single *next,*prior;
}Single; //每个运动员的信息
typedef struct group {
int menscore,womenscore, score;
}Group; //团体分数
void InputData(Single *p,Group sch[21])
{ //数据输入
int m,w,i,j,a,b;
Single *q;
printf("有多少个男子项目:");
scanf("%d",&m);
printf("有多少个女子项目:");
scanf("%d",&w);
for(b=1;b<=m+w;b++){
printf("请输入当前项目编号:");
scanf("%d",&i);
printf("请输入项目类型(前3还是前5):");
scanf("%d",&a);
for(j=1;j<=a;j++){
printf("请输入第%d名的名字:",j);
scanf("%s",&p->name);
printf("请输入第%d名的学校编号:",j);
scanf("%d",&p->school);
p->mingci=j;
if(a==5)
{if(j==1) p->score=7;
if(j==2) p->score=5;
if(j==3) p->score=3;
if(j==4) p->score=2;
if(j==5) p->score=1;}
else {if(j==1) p->score=5;
if(j==2) p->score=3;
if(j==3) p->score=2;}
p->item=i;
if(i<=m){sch[p->school].menscore+=p->score;
sch[p->school].score=sch[p->school].menscore+sch[p->school].womenscore;}
else { sch[p->school].womenscore+=p->score;
sch[p->school].score=sch[p->school].menscore+sch[p->school].womenscore;}
p->next=(struct single *)malloc(sizeof(struct single));
q=p;
p=p->next;
p->prior=q;
p->next=NULL;
}
}
}
void printsingle(Single *p,Single *head,int n)
{ //输出每个学校获奖人员名单
int j;
for(j=1;j<=n;j++){
printf("编号为%d的学校的成绩单:\n",j);
printf("\t项目编号\t姓名\t名次\t分数\n");
for(p=head;p!=NULL;p=p->next)
if(p->school==j) printf("\t%d\t\t%s\t%d\t%d\n",p->item,p->name,p->mingci,p->score);
}
}
void printgroup(Group sch[21],int n)
{ //输出团体总分
int j;
for(j=1;j<=n;j++){
printf("编号为%d的学校的团体分数报表:\n",j);
printf("\t男子团体\t女子团体\t团体总分\n");
printf("\t%d\t%d\t%d\n",sch[j].menscore,sch[j].womenscore,sch[j].score);
}
}
void main()
{ int n;
Single *p,*head;
Group sch[21]={0,0,0,0,0,0,};
p=head=(struct single *)malloc(sizeof(struct single));
p->next=NULL;
printf("请输入参加运动会的学校个数:");
scanf("%d",&n);
InputData(p,sch);
printsingle(p,head,n);
printgroup(sch,n);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -