吉林大学 程序设计基础 2022级 OJ期末考试 2.23
本人能力有限,发出只为帮助有需要的人。
以下为实验课的复盘,内容会有大量失真,请多多包涵。
1.双手剑士的最优搭配
每把剑有攻击力和防御力两个属性。双手剑士可以同时拿两把剑,其得到攻击力为两把剑中的攻击力的最大值,防御力为两把剑中的防御力的最小值。现在想让双手剑士的攻击力和防御力之和最大。输入n作为剑的个数,再输入2n分别对应每把剑的攻击力和防御力,要求输出最优解为哪两把剑(当攻击力和防御力之和相同时优先选择编号靠前的两把剑)
输入:3 10 4 5 10 7 8
输出:1 2
题解为
#include <stdio.h>
int max(int x,int y)//最大值函数
{if(x>y)return x;return y;
}
int min(int x,int y)//最小值函数
{if(x<y)return x;return y;
}
int main(void)
{int a[100][1]={0},n;//设置二维数组scanf("%d",&n);for(int i=0;i<n;i++)scanf("%d %d",&a[i][0],&a[i][1]);//a[i][0]为攻击力,a[i][1]为防御力int maxSum=0,attack=0,defend=0;int x,y;for(int i=0;i<n;i++)//二重循环遍历{for(int j=i+1;j<n;j++){defend=min(a[i][1],a[j][1]);attack=max(a[i][0],a[j][0]);if(defend+attack>maxSum){maxSum=defend+attack;//找当前的最优解x=i;y=j;//用x,y记录}}}printf("%d %d",x+1,y+1);//注意此题从1开始计数return 0;
}
2.一列数转化二级制中1的个数(11.17)
输入一个正整数n,之后输入n个非负整数组成一个数组,将数组中的每个元素转化成二进制数,输出数组中每个二进制数中1的个数,输出每个数前有一个空格
样例:
输入:5 1 2 3 4 5
输出: 1 1 2 1 2
#include <stdio.h>
int main(void)
{int n,i,a[100],b[100],flag;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n;i++){flag=0;while(a[i]!=0)//将数组的数字化成二进制{if(a[i]%2==1)flag++;//计算二进制中1的数量a[i]/=2;b[i]=flag;//用两个数组}}for(i=0;i<n;i++)printf(" %d",b[i]);return 0;
}
3.一周中的下一个热天(11.10)
向一个长度为7的数组中输入七天的气温(范围为-10到+10)
找到每天以后更热(温度大于此天)的一天,输出其间隔的天数
样例(题目所给样例忘了,这个是新编的)
输入1 1 -1 2 3 1 4
输出3 2 1 1 2 1 0
原题如下
#include <stdio.h>
#include <stdlib.h>int main(void)
{int temperature[7],i,j;for(i=0;i<7;i++)scanf("%d",&temperature[i]);int days[7]={0};for(i=0;i<7;i++)/**/for(i=0;i<7;i++)printf("%d ",days[i]);return 0;
}
解答
#include <stdio.h>
#include <stdlib.h>int main(void)
{int temperature[7],i,j;for(i=0;i<7;i++)scanf("%d",&temperature[i]);int days[7]={0};//考了数组初始化,但对此题的作答无影响for(i=0;i<7;i++){int flag=0;for(j=i+1;j<7;j++)//两层循环{flag++;if(temperature[j]>temperature[i]){days[i]=flag;//构建新数组break;}}}for(i=0;i<7;i++)printf("%d ",days[i]);return 0;
}
4.删除链表中的重复元素
给出一个结构体链表,包含姓名、学号、年龄三个要素。输入一个n,要求输入n个三要素后,再输入一个数字,删除年龄为这个数字的链表节点,并输出链表。
输入:
3
1 zhangsan 18
2 lisi 19
3 wangwu 18
18
输出
2 lisi 19
原题
#include <stdio.h>
#include <malloc.h>
struct cell
{int x;char name[1000];//字符数字储存姓名int age;struct cell* next;
};struct cell *build(int num)//输入链表
{
/**/
}void print(struct cell* head)//输出链表
{struct cell* p;p=head;while(p!=NULL){printf("%d %s %d\n",p->x,p->name,p->age);p=p->next;}
}
void release(struct cell* head)//释放链表所占用的空间
{struct cell *p,*tmp;p=tmp=head->next;while(p!=NULL){tmp=p;p=p->next;free(tmp);}p=head=tmp=NULL;
}struct cell* delCell(struct cell *head,int n)
{while(head->age==n)//当头节点的值要删除时,将头节点向后挪head=head->next;struct cell *p,*p0;p=head;while(p!=NULL){if(p->age==n)//删除节点的标准操作{p0->next=p->next;p=p0;}p0=p;p=p->next;}return head;
}int main(void)
{struct cell*head;int num,n;scanf("%d",&num);head=build(num);scanf("%d",&n);head=delCell(head,n);print(head);release(head);return 0;
}
题解
#include <stdio.h>
#include <malloc.h>
struct cell
{int x;char name[1000];//字符数字储存姓名int age;struct cell* next;
};struct cell *build(int num)//输入链表
{struct cell *tmp;struct cell *headA = (struct cell*)malloc(sizeof(struct cell));scanf("%d %s %d",&headA->x,headA->name,&headA->age);//注意字符串的输入方法struct cell *end = headA;for(int i=0; i<num-1; i++)//输入num个元素{tmp = (struct cell*)malloc(sizeof(struct cell));scanf("%d %s %d",&tmp->x,tmp->name,&tmp->age);end->next = tmp;end = tmp; }end->next = NULL;return headA;
}void print(struct cell* head)//输出链表
{struct cell* p;p=head;while(p!=NULL){printf("%d %s %d\n",p->x,p->name,p->age);p=p->next;}
}
void release(struct cell* head)//释放链表所占用的空间
{struct cell *p,*tmp;p=tmp=head->next;while(p!=NULL){tmp=p;p=p->next;free(tmp);}p=head=tmp=NULL;
}struct cell* delCell(struct cell *head,int n)
{while(head->age==n)//当头节点的值要删除时,将头节点向后挪head=head->next;struct cell *p,*p0;p=head;while(p!=NULL){if(p->age==n)//删除节点的标准操作{p0->next=p->next;p=p0;}p0=p;p=p->next;}return head;
}int main(void)
{struct cell*head;int num,n;scanf("%d",&num);head=build(num);scanf("%d",&n);head=delCell(head,n);print(head);release(head);return 0;
}
相关文章:
吉林大学 程序设计基础 2022级 OJ期末考试 2.23
本人能力有限,发出只为帮助有需要的人。 以下为实验课的复盘,内容会有大量失真,请多多包涵。 1.双手剑士的最优搭配 每把剑有攻击力和防御力两个属性。双手剑士可以同时拿两把剑,其得到攻击力为两把剑中的攻击力的最大值&#…...
【项目实战】SpringMVC拦截器实战 - 自定义拦截器防止重复提交
一、背景说明 如何能够实现防止重复提交呢?以下是一种可选的方式。 二、代码实战 2.1 注册重复提交拦截器到SpringMVC中 @Configuration @AllArgsConstructor public class ResourcesConfig implements WebMvcConfigurer {private final RepeatSubmitInterceptor repeatSu…...

C++ STL:容器 Container
文章目录1、序列容器1.1、容器共性1.2、vectorvector 结构* vector 扩容原理* vector 迭代器失效1.3、dequedeque 结构deque 迭代器deque 模拟连续空间1.4、listlist 特殊操作list 结构list 迭代器2、关联式容器2.1、容器共性2.2、容器特性3、无序关联式容器3.1、容器共性3.2、…...

urllib之urlopen和urlretrieve的headers传入以及parse、urlparse、urlsplit的使用
urllib库是什么?urllib库python的一个最基本的网络请求库,不需要安装任何依赖库就可以导入使用。它可以模拟浏览器想目标服务器发起请求,并可以保存服务器返回的数据。urllib库的使用:1、request.urlopen(1)只能传入url的方式from http.clie…...

【C++】二叉搜索树的模拟实现
一、概念 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树: 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值若它的右子树不为空,则右子树上所有节点的值都大于根节点的值它的左右子树也分别…...

HNU工训中心:元器件及测量基础实验报告
工训中心的牛马实验 1.实验目的 1.熟悉测量验证常用元器件参数、 并采用替代法(测量回路电流)测量其伏安特性的方法。 2.熟悉测量误差及减小测量误差注意事项 2.实验仪器和器材 1.实验仪器. 直流稳压电源型号:IT6302 台式多用表型号:UT805A 2.实验( 箱)器材 电路实验箱…...

博客系统--自动化测试
项目体验地址(账号:123,密码:123)http://120.53.20.213:8080/blog_system/login.html项目后端说明:http://t.csdn.cn/32Nnv项目码云Gitee地址:https://gitee.com/GoodManSS/project/tree/master…...

Day903.自增主键不能保证连续递增 -MySQL实战
自增主键不能保证连续递增 Hi,我是阿昌,今天学习记录的是关于自增主键不能保证连续递增的内容。 MySql保证了主键是自增,但不相对连续;帮助开发人员快速识别每个行的唯一性,并提高查询效率。 自增主键可以让主键索引…...

02-MyBatis查询-
文章目录Mybatis CRUD练习1,配置文件实现CRUD1.1 环境准备Debug01: 别名mybatisx报错1.2 查询所有数据1.2.1 编写接口方法1.2.2 编写SQL语句1.2.3 编写测试方法1.2.4 起别名解决上述问题1.2.5 使用resultMap解决上述问题1.2.6 小结1.3 查询详情1.3.1 编写接口方法1.…...
外盘国际期货招商:2023年3月关注日历,把握重要投资机会
2023年3月大事件日历 关注大事日历,把握重要投资机会 3月1日:马斯克推出特斯拉宏图第三篇章 3月1-2日:G20外长会议 3月4-5日:全国两会召开 3月9日:中国2月CPI、PPI数据 待定(前次进行日期:…...

Linux学习(9.1)文件系统的简单操作
以下内容转载自鸟哥的Linux私房菜 原文:鸟哥的 Linux 私房菜 -- Linux 磁盘与文件系统管理 (vbird.org) 磁盘与目录的容量 df:列出文件系统的整体磁盘使用量;du:评估文件系统的磁盘使用量(常用在推估目录所占容量) df du 实体…...

Hadoop综合案例 - 聊天软件数据
目录1、聊天软件数据分析案例需求2、基于Hive数仓实现需求开发2.1 建库2.2 建表2.3 加载数据2.4 ETL数据清洗2.5 需求指标统计---都很简单3、FineBI实现可视化报表3.1 FineBI介绍3.2 FineBI配置数据3.3 构建可视化报表1、聊天软件数据分析案例需求 MR速度慢—引入hive 背景&a…...

Python进阶-----面向对象1.0(对象和类的介绍、定义)
目录 前言: 面向过程和面向对象 类和对象 Python中类的定义 (1)类的定义形式 (2)深层剖析类对象 前言: 感谢各位的一路陪伴,我学习Python也有一个月了,在这一个月里我收获满满…...

天猫淘宝企业服务为中小微企业打造供应链智能协同网络,让采购不再将就!丨爱分析报告
编者按:近日天猫淘宝企业服务&爱分析联合发布《2023中小微企业电商采购白皮书》,为中小微企业采购数字化带来红利。 某水泵企业:线上客户主要是中小微企业,线上业绩遇到瓶颈,如何突破呢?某焊割设备企业…...

基于四信网络摄像机的工业自动化应用
方案背景 随着数控机床被广泛的应用在工业生产中,数控技术发展成为制造业的核心。 鉴于数控机床的复杂性,以及企业人力储备有限,设备的监控和维护必须借助外部力量,而如何实现车间实时监测成了目前迫切解决的问题。 方案需求 ①兼…...

软件测试2
一 web掐断三大核心技术 HTML:负责网页的结构 CSS:负责网页的美化 JS:负责网页的行为 二 工具的使用 改变HBuilder文字的大小: 工具-视觉主题设置-大小22-确定 三 html简介 中文定义:超文本标记语言 新建一个html…...
(二分查找)leetcode162. 寻找峰值
文章目录一、题目1、题目描述2、基础框架3、原题链接二、解题报告1、思路分析2、时间复杂度3、代码详解三、本题小知识一、题目 1、题目描述 峰值元素是指其值严格大于左右相邻值的元素。 给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值…...

spring boot 配合element ui vue实现表格的批量删除(前后端详细教学,简单易懂,有手就行)
目录 一.前言: 二. 前端代码: 2.1.element ui组件代码 2.2删除按钮 2.3.data 2.4.methods 三.后端代码: 一.前言: 研究了其他人的博客,找到了一篇有含金量的,进行了部分改写实现前后端分离࿰…...

hiveSQL开窗函数详解
hive开窗函数 文章目录hive开窗函数1. 开窗函数概述1.1 窗口函数分类1.2 窗口函数和普通聚合函数的区别2. 窗口函数的基本用法2.1 基本用法2.2 设置窗口的方法2.2.1 window_name2.2.2 partition by2.2.3 order by 子句2.2.4 rows指定窗口大小窗口框架2.3 开窗函数中加 order by…...

深度学习基础实例与总结
一、神经网络 1 深度学习 1 什么是深度学习? 简单来说,深度学习就是一种包括多个隐含层 (越多即为越深)的多层感知机。它通过组合低层特征,形成更为抽象的高层表示,用以描述被识别对象的高级属性类别或特征。 能自生成数据的中…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist
现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...
嵌入式常见 CPU 架构
架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集,单周期执行;低功耗、CIP 独立外设;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel(原始…...

nnUNet V2修改网络——暴力替换网络为UNet++
更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...
Spring Security 认证流程——补充
一、认证流程概述 Spring Security 的认证流程基于 过滤器链(Filter Chain),核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤: 用户提交登录请求拦…...

【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道
文/法律实务观察组 在债务重组领域,专业机构的核心价值不仅在于减轻债务数字,更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明,合法债务优化需同步实现三重平衡: 法律刚性(债…...