⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1.18.c

📁 部分高校使用anyview编程测试数据结构习题,此代码为数据结构题集(c语言版)严蔚敏版的课后习题答案.专门提供给在anyview上运行,全部为通告代码
💻 C
字号:
1.18③ 假设有A、B、C、D、E五个高等院校进行田径对抗赛,
各院校的单项成绩均以存入计算机并构成一张表,表中每一
行的形式为
        项目名称   性别   校名   成绩   得分
编写算法,处理上述表格,以统计各院校的男、女总分和团
体总分,并输出。

要求实现下列函数:
void Scores(ResultType *result, ScoreType *score); 
/* 求各校的男、女总分和团体总分, 并依次存入数组score */
/* 假设比赛结果已经储存在result[ ]数组中,            */
/* 并以特殊记录 {"", male, ' ', "", 0 }(域scorce=0)*/
/* 表示结束                                          */

相关数据类型定义如下:
typedef enum {female,male} Sex;
typedef struct{
  char *sport;     // 项目名称
  Sex  gender;     // 性别(女:female;男:male)
  char schoolname; // 校名为'A','B','C','D'或'E'
  char *result;    // 成绩
  int score;       // 得分(7,5,4,3,2或1)
} ResultType;

typedef struct{
  int malescore;   // 男子总分
  int femalescore; // 女子总分
  int totalscore;  // 男女团体总分
} ScoreType;

void Scores(ResultType *result, ScoreType *score)
/* 求各校的男、女总分和团体总分, 并依次存入数组score */
/* 假设比赛结果已经储存在result[ ]数组中,            */
/* 并以特殊记录 {"", male, ' ', "", 0 }(域scorce=0)*/
/* 表示结束                                          */
{
  int i=0;
  while(result[i].sport!=NULL)
  {
    switch(result[i].schoolname)
    {
      case 'A':
        score[0].totalscore+=result[i].score;
        if(result[i].gender==0) score[0].femalescore+=result[i].score;
        else score[0].malescore+=result[i].score;
        break;
      case 'B':
        score[1].totalscore+=result[i].score;
        if(result[i].gender==0) score[1].femalescore+=result[i].score;
        else score[1].malescore+=result[i].score;
        break;
      case 'C':
        score[2].totalscore+=result[i].score;
        if(result[i].gender==0) score[2].femalescore+=result[i].score;
        else score[2].malescore+=result[i].score;
        break;
      case 'D':
        score[3].totalscore+=result[i].score;
        if(result[i].gender==0) score[3].femalescore+=result[i].score;
        else score[3].malescore+=result[i].score;
        break;
      case 'E':
        score[4].totalscore+=result[i].score;
        if(result[i].gender==0) score[4].femalescore+=result[i].score;
        else score[4].malescore+=result[i].score;
        break;
    }
    i++;
  }
  for(i=0;i<5;i++)
  {
    printf("School %d:\n",i);
    printf("Total score of male:%d\n",score[i].malescore);
    printf("Total score of female:%d\n",score[i].femalescore);
    printf("Total score of all:%d\n\n",score[i].totalscore);
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -