057.运动会分数统计

简介: 057.运动会分数统计
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#define n 4
#define m 3
#define w 2
struct achievement  //定义表示成绩的结构体
{int schoolnumber;//学校编号
char name[20];  //姓名
int mark; //分数
int result;};
struct pro     //表示项目的结构体
{int tag;//项目编号
struct achievement ach[5];
int number;};
struct Node         
{struct pro date;
struct Node *next;};
void ListInitiate(struct Node * *head)    //初始化单链表
{
    if((*head=(struct Node*)malloc(sizeof(struct Node)))==NULL) exit(1);
    (*head)->next=NULL;
}
void main()
{
    int i,j,t;
    int x[n]={0};int y[n]={0};
    struct Node *head;
    struct Node *p;
    struct Node *q;
    ListInitiate(&head);
    p=head;
  for(i=0;i<m+w;i++)      //输入成绩
    {
        j=i+1;
        printf("请输入第%d个项目的信息\n",j);
        p->date.number=j;
        printf("所取的名次数为:");
        scanf("%d",&p->date.tag);
        while(p->date.tag!=3&&p->date.tag!=5)
        {printf("输入有误,请重新输入!");
    printf("所取的名次数为:");
    scanf("%d",&p->date.tag);}
        t=1;
        while(t<=p->date.tag)
        {
            printf("第%d名的名字:",t);
            scanf("%s",&p->date.ach[t-1].name);
            printf("第%d名的学校:",t);
            scanf("%d",&p->date.ach[t-1].schoolnumber);
            printf("第%d名的分数:",t);
            scanf("%d",&p->date.ach[t-1].mark);
            p->date.ach[t-1].result=t;
            t++;
        }
        q=(struct Node*)malloc(sizeof(struct Node));  //生成新结点
        p->next=q;
        p=q;
        p->next=NULL;
    }
  for(i=0;i<n;i++)     //产生成绩单
  {
    j=i+1;
    printf("学校%d成绩单\n",j);
    //t=1;
    p=head;
    do
    {
      t=1;
      while(t<=p->date.tag)
      { 
        if(p->date.ach[t-1].schoolnumber==j)
        {            
          printf("获奖项目:%d   ",p->date.number);
          printf("名次:%d   \n",p->date.ach[t-1].result);
          printf("获奖人姓名:%s   ",p->date.ach[t-1].name);
          printf("所得分数:%d   ",p->date.ach[t-1].mark);
          if(p->date.number<=m)
            x[i]=x[i]+p->date.ach[t-1].mark;
          else
            y[i]=y[i]+p->date.ach[t-1].mark;
        }    
        t++;
      }
      p=p->next;
    }while(p!=NULL);
    printf("\n男子团体总分:%d   ",x[i]);
    printf("女子团体总分:%d   \n",y[i]);
    printf("\n团体总分:%d\n",x[i]+y[i]);
  }
}
相关文章
|
数据挖掘 定位技术
男性多项身体维度数据探索
男性多项身体维度数据探索
356 0
|
算法 索引 Python
python航空公司1949-1960年的乘客人数-数据特征分析(一)
python航空公司1949-1960年的乘客人数-数据特征分析
python航空公司1949-1960年的乘客人数-数据特征分析(一)
|
7月前
|
数据可视化 Python
R语言无套利区间模型期货期现研究:正向套利和反向套利次数、收益率分析华泰柏瑞300ETF可视化
R语言无套利区间模型期货期现研究:正向套利和反向套利次数、收益率分析华泰柏瑞300ETF可视化
|
7月前
|
数据可视化
数据分享|R语言逐步回归模型对电影票房、放映场数、观影人数预测可视化1
数据分享|R语言逐步回归模型对电影票房、放映场数、观影人数预测可视化
|
7月前
|
数据可视化
数据分享|R语言逐步回归模型对电影票房、放映场数、观影人数预测可视化2
数据分享|R语言逐步回归模型对电影票房、放映场数、观影人数预测可视化
|
7月前
数据分享|R语言回归模型诊断、离群值分析学生考试成绩、病人医护质量满意度、婴儿死亡率和人均收入、针叶树荫面积数据
数据分享|R语言回归模型诊断、离群值分析学生考试成绩、病人医护质量满意度、婴儿死亡率和人均收入、针叶树荫面积数据
|
7月前
R语言分位数回归预测筛选有上升潜力的股票
R语言分位数回归预测筛选有上升潜力的股票
|
7月前
|
数据可视化 数据库
R语言人口期望寿命统计预测方法
R语言人口期望寿命统计预测方法
|
算法 Python
2022-10-26-线性回归分析GDP与公交车数量的关系
2022-10-26-线性回归分析GDP与公交车数量的关系
163 0
|
7月前
|
C语言
跳水运动员预测比赛结果排名次问题详解(逻辑类型题1)
跳水运动员预测比赛结果排名次问题详解(逻辑类型题1)
71 0