【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;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/218574.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【React + Typescript】使用WebPack包管理、各种扩展插件组成的初始模板,开源协议:CC-BY-4.0

React Typescript Webpack 模板 模板展示项目结构使用的部分扩展包页面配置代码Layout 公共容器组件路由Jspackage.json 开源模板下载TIP 模板展示 项目结构 使用的部分扩展包 &#x1f4c2; System ├── &#x1f4c2; Plugin │ ├── &#x1f4c4; file-loader | 在处…

Java---异常

文章目录 1. 异常概述2. try...catch3. Throwable成员方法4. 编译时异常和运行时异常区别5. 异常处理之throws6. 自定义异常7. throws和throw的区别 1. 异常概述 1. 异常&#xff1a;就是程序中出现了不正常的情况。 2. Error&#xff1a;严重问题&#xff0c;不需要处理。Exce…

基于Java SSM框架实现美食推荐管理系统项目【项目源码+论文说明】

基于java的SSM框架实现美食推荐管理系统演示 摘要 21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的重要性已逐渐被人们所认识&a…

数智化招采平台档案管理的功能、价值与亮点

2005年4月&#xff0c;《中华人民共和国电子签名法》正式实施&#xff0c;明确电子签名与手写签名具有同等的法律效力。 2013年5月&#xff0c;《电子招标投标办法》正式实施&#xff0c;明确电子招标投标交易平台应当具备电子归档功能。 2021年1月&#xff0c;《中华人民共和…

web前端开发HTML/css用户登录界面

代码&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xhtml"> <head> <meta http-equi…

基于Java SSM框架实现农产品供销服务系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现农产品供销服务系统演示 摘要 21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的重要性已逐渐被人们所认识…

使用cmake构建的工程的编译方案

1、克隆项目工程 2、进入到工程目录 3、执行 mkdir build && cd build 4、执行 cmake .. 5、执行 make 执行以上步骤即可完成对cmake编写的工程进行编译 &#xff0c;后面只需执行你的编译结果即可 $ git clone 你想要克隆的代码路径 $ cd 代码文件夹 $ mkdir bu…

【Linux】编译器-gcc/g++与调试器-gdb的使用

&#x1f440;樊梓慕&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》 &#x1f31d;每一个不曾起舞的日子&#xff0c;都是对生命的辜负 目录 前言 1.gcc/g语法 2.gcc的使用及…

数据结构——二叉树(相关术语、性质、遍历过程)

遍历操作 二叉树的层次遍历-CSDN博客 二叉树的基本操作-CSDN博客 二叉树的先序遍历非递归实现-CSDN博客 后序遍历的非递归方式实现-CSDN博客 二叉树&#xff1a;已知先序中序求后序或者其他&#xff08;秒解&#xff09;-CSDN博客 因为之前发过一遍&#xff0c;我就不复制…

GEOVIS Earth Brain:LANDSAT_5/02/T1/RAW数据集

简介&#xff1a; LANDSAT_5/02/T1/RAW数据集是一种由美国国家航空航天局&#xff08;NASA&#xff09;和美国地质调查局&#xff08;USGS&#xff09;联合发布的遥感卫星影像数据集。它的数据格式为RAW&#xff0c;即未经过数据处理的原始数据。这个数据集是由LANDSAT 5号卫星…

Kubernetes安装ingress-nginx

Kubernetes安装ingress-nginx 1 、Ingress 简介 1.1 kubernetes访问方式 在Kubernetes中&#xff0c;服务和Pod的IP地址仅可以在集群网络内部使用&#xff0c;对于集群外的应用是不可见的。为了使外部的应用能够访问集群内的服务&#xff0c;在Kubernetes 目前 提供了以下几…

基于PaddleSeg开发的人像抠图web api接口

前言 基于PaddleSeg开发的人像抠图web api接口&#xff0c;提取官方代码&#xff0c;适配各种系统&#xff0c;通过api的接口进行访问。 环境要求 1、Python3.7以上 2、源码&#xff08;文章最后下载&#xff09; 源码结构 测试module.py中添加如下代码&#xff1a; if __na…

MYSQL练题笔记-高级查询和连接-简单题3题

写了下面的前3道题。 一、每位经理的下属员工数量 看到题目就知道和之前的至少有5名下属的经理很相似&#xff0c;嘿嘿写对了就不做过多的讲解了。 二、员工的直属部门相关表和题目如下 刚开始觉得很简单&#xff0c;但是仔细想想这道题有两个输出&#xff0c;觉得想不出来&a…

【C语言】函数递归详解(二)

前言 在上一篇博客函数递归详解&#xff08;一&#xff09;中讲解了什么是递归&#xff0c;递归的思想及限制条件以及两个递归的例子&#xff0c;这一篇博客将讲解递归与迭代的关系。 递归与迭代 递归是一种很好的编程技巧&#xff0c;但是同很多技巧一样也是可能被误用的&…

深入剖析Java Web开发中的过滤器、拦截器和AOP

文章目录 1. 过滤器&#xff08;Filter&#xff09;1.1 过滤器的概念1.2 过滤器的应用场景1.3 过滤器的示例代码 2. 拦截器&#xff08;Interceptor&#xff09;2.1 拦截器的概念2.2 拦截器的应用场景2.3 拦截器的示例代码 3. AOP&#xff08;面向切面编程&#xff09;3.1 AOP的…

如何选择一款安全可靠的跨网安全数据交换系统?

随着网络和数据安全的重视程度增加&#xff0c;为了有效地保护内部的核心数据资产&#xff0c;普遍会采用内外网隔离的策略。像国内的政府机构、金融、能源电力、航空航天、医院等关乎国计民生的行业和领域均已进行了网络的隔离&#xff0c;将内部划分成不同的网段&#xff0c;…

基于AWS Serverless的Glue服务进行ETL(提取、转换和加载)数据分析(二)——数据清洗、转换

2 数据清洗、转换 此实验使用S3作为数据源 ETL: E extract 输入 T transform 转换 L load 输出 大纲 2 数据清洗、转换2.1 架构图2.2 数据清洗2.3 编辑脚本2.3.1 连接数据源&#xff08;s3&#xff09;2.3.2. 数据结构转换2.3.2 数据结构拆分…

CSS-200个小案例(一)

文章目录 1.Simple Parallax Scrolling Effect&#xff08;简单的视差滚动效果&#xff09;2.Fullscreen Video Background&#xff08;全屏视频背景&#xff09;3.Transform Effects on Scroll(滚动时产生的变换效果&#xff09;4.Fullscreen Overlay Responsive Navigation M…

今日实施|解读新国标对数据库审计的能力要求

数据库审计是数据安全建设不可或缺的技术工具之一&#xff0c;无论是国家级的法律或标准&#xff0c;还是等保以及行业级的安全标准均对使用数据库审计有明确要求。据相关数据统计显示&#xff0c;数据库审计产品的市场需求已占据中国数据库安全市场容量的6成以上。 12月1日&am…

身份统一管理创新与优化 ——华为云OneAccess应用身份管理服务的2023年

2023年&#xff0c;随着云计算、物联网、人工智能等技术的快速发展&#xff0c;企业面临着数字化转型的巨大挑战与机遇。身份统一管理是企业数字化转型的基础&#xff0c;也是业务发展的关键。如何高效、安全、灵活地实现身份统一管理&#xff0c;成为企业亟待解决的首要课题。…