【C/PTA —— 14.结构体1(课外实践)】

2023-12-05 08:52
文章标签 实践 14 结构 pta 课外

本文主要是介绍【C/PTA —— 14.结构体1(课外实践)】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

C/PTA —— 14.结构体1(课外实践)

  • 一.函数题
    • 6-1 选队长
    • 6-2 按等级统计学生成绩
    • 6-3 学生成绩比高低
    • 6-4 综合成绩
    • 6-5 利用“选择排序算法“对结构体数组进行排序
    • 6-6 结构体的最值
    • 6-7 复数相乘运算
  • 二.编程题
    • 7-5 一帮一
    • 7-6 考试座位号

一.函数题

6-1 选队长

在这里插入图片描述

void showCaptain(TeamMember team[], int n)
{TeamMember max;max = team[0];for (int i = 1; i < n; i++){if (max.ability < team[i].ability)max = team[i];}printf("%d %s %s %s %.2lf", max.id, max.lastname,max.firstname, max.sex, max.ability);
}

6-2 按等级统计学生成绩

在这里插入图片描述

int set_grade(struct student* p, int n)
{int count = 0;for (int i = 0; i < n; i++){if (p[i].score >= 85 && p[i].score <= 100)p[i].grade = 'A';if (p[i].score >= 70 && p[i].score <= 84)p[i].grade = 'B';if (p[i].score >= 60 && p[i].score <= 69)p[i].grade = 'C';if (p[i].score >= 0 && p[i].score <= 59){p[i].grade = 'D';count++;}     }return count;
}

6-3 学生成绩比高低

在这里插入图片描述

int compareScore(const struct Student* s1, const struct Student* s2)
{if ((s1->C + s1->English) > (s2->C + s2->English))return 1;if ((s1->C + s1->English) < (s2->C + s2->English))return -1;if ((s1->C + s1->English) == (s2->C + s2->English)){if (s1->C > s2->C)return 1;if (s1->C < s2->C)return -1;if (s1->C == s2->C)return 0;}
}

6-4 综合成绩

在这里插入图片描述

double getAverage(Applicant* a)
{double sum = 0.0;sum = a->computational * 1.0 * 0.4 + a->humanistic * 1.0 * 0.5 + a->logical * 1.0 * 0.3 + a->presentation * 1.0 * 0.6 + a->scientific * 1.0 * 0.8;return sum;
}

6-5 利用“选择排序算法“对结构体数组进行排序

在这里插入图片描述

int min_idx = p1->score;
for (p2 = p1 + 1; p2 < pData + n; p2++)
{if (p2->score > min_idx){min_idx = p2->score;p = p2;}
}
if (min_idx != p1->score)
{num = p1->num;score = p1->score;p1->num = p->num;p1->score = p->score;p->num = num;p->score = score;
}

6-6 结构体的最值

在这里插入图片描述

ST* MaxST(ST d[], int n, int k)
{ST* max = NULL;for (int i = 0; i < n; i++){if (d[i].gender == k && (max == NULL || max->scored < d[i].scored)){max = &d[i];}}return max;
}

6-7 复数相乘运算

在这里插入图片描述

PLEX multi(PLEX a, PLEX b)
{PLEX product;product.re = a.re * b.re - a.im * b.im;product.im = a.re * b.im + a.im * b.re;return product;
}

二.编程题

7-5 一帮一

在这里插入图片描述

#include<stdio.h>
#include<string.h>struct student
{int a;char name[20];
};struct student1
{int b;char name1[20];
};int main()
{struct student  s1[50];struct student1 s2[50];struct student1 s3[50];int i, n, j = 0, t = 0, c, d;scanf("%d", &n);for (i = 0; i < n; i++){scanf("%d %s", &s1[i].a, s1[i].name);}for (i = 0; i < n; i++){if (s1[i].a == 1){s2[j].b = i;strcpy(s2[j].name1, s1[i].name);j++;}if (s1[i].a == 0){s3[t].b = i;strcpy(s3[t].name1, s1[i].name);t++;}}c = n / 2 - 1, d = n / 2 - 1;j = 0, t = 0;for (i = 0; i < n / 2; i++){if (s3[j].b < s2[t].b){printf("%s %s\n", s3[j].name1, s2[c].name1);j++;c--;}else{printf("%s %s\n", s2[t].name1, s3[d].name1);t++;d--;}}return 0;
}

7-6 考试座位号

在这里插入图片描述

#include<stdio.h>
struct student
{char number[17];int s;int k;
};int main()
{int N = 0;scanf("%d", &N);struct student stu[1001] = {0};for (int i = 0; i < N; i++){scanf("%s %d %d", stu[i].number, &stu[i].s, &stu[i].k);}int n = 0;scanf("%d", &n);int ret = 0;for (int i = 0; i < n; i++){scanf("%d", &ret);int j = 0;for (j = 0; j < N; j++){if (ret == stu[j].s){printf("%s %d\n", stu[j].number, stu[j].k);}}}return 0;
}

这篇关于【C/PTA —— 14.结构体1(课外实践)】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/456923

相关文章

Python 中的 with open文件操作的最佳实践

《Python中的withopen文件操作的最佳实践》在Python中,withopen()提供了一个简洁而安全的方式来处理文件操作,它不仅能确保文件在操作完成后自动关闭,还能处理文件操作中的异... 目录什么是 with open()?为什么使用 with open()?使用 with open() 进行

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

Spring Boot中定时任务Cron表达式的终极指南最佳实践记录

《SpringBoot中定时任务Cron表达式的终极指南最佳实践记录》本文详细介绍了SpringBoot中定时任务的实现方法,特别是Cron表达式的使用技巧和高级用法,从基础语法到复杂场景,从快速启... 目录一、Cron表达式基础1.1 Cron表达式结构1.2 核心语法规则二、Spring Boot中定