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]);
  }
}
相关文章
|
算法 搜索推荐 图计算
图计算中的社区发现算法是什么?请解释其作用和常用算法。
图计算中的社区发现算法是什么?请解释其作用和常用算法。
428 0
|
XML 编解码 编译器
Unity跨平台UI解决方案:可能是最全的FairyGUI系列教程-第八天
众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣!!!
2109 0
|
4月前
|
人工智能 运维 Kubernetes
别再手动敲命令了!运维自动化才是打工人的“自救之道”
别再手动敲命令了!运维自动化才是打工人的“自救之道”
135 8
|
9月前
|
弹性计算 负载均衡 安全
【上云基础系列-02】企业推荐!必学必会的上云标准架构(弹性架构)
本文介绍上云标准弹性架构,针对企业业务发展需求,推荐使用多服务器的弹性架构而非单体架构。方案包含负载均衡、NAT网关、云服务器ECS、云数据库RDS等组件,确保业务的负载分担、冗余备份及平滑扩展。通过统一公网暴露面管理和VPC网络设计,保障架构的稳定性、安全性和可扩展性。该架构适用于中小企业上云,避免性能瓶颈和迭代升级困难,支持业务持续发展。更多内容可参考下方演进说明总览。
|
XML 数据可视化 C语言
001 Qt_从零开始创建项目
本文是Qt专栏的第一篇,介绍了如何创建一个Qt项目。
407 4
|
网络协议 Docker 容器
docker pull命令拉取镜像失败的解决方案
docker pull命令拉取镜像失败的解决方案
6442 1
|
IDE 开发工具 数据安全/隐私保护
【干货】Qt Creator快速下载、安装、使用教程
【干货】Qt Creator快速下载、安装、使用教程
|
存储 Java
Java实现贪吃蛇大作战小游戏(完整教程+源码)额外实现积分和变速功能(下)
文章目录 1 开发环境及游戏展示 1.1 游戏主界面 1.2 移动界面 1.3 奖励界面 1.4 F加速功能界面 1.5 死亡界面 2 需求分析 3 系统设计 3.1 系统总体功能设计 3.2 系统总体流程设计 4 功能设计 4.1 贪吃蛇移动及加速功能设计 4.2 贪吃蛇吃食物加速及死亡判定功能的设计 4.2.1 贪吃蛇吃食物加速功能的设计 4.2.2 贪吃蛇死亡判定功能的设计 4.3 贪吃蛇主动加速功能的设计 4.4 贪吃蛇奖励机制功能的设计 5 项目结构与项目实现 5.1 项目结构及类间关系 5.2 项目完整源码 5.2.1 Images类
|
SQL 存储 Oracle
一篇文章带你学会 Oracle 存储过程的基本介绍和高阶用法(下)
一篇文章带你学会 Oracle 存储过程的基本介绍和高阶用法