吉林大学 程序设计基础 2022级 实验复盘 2.23
本人能力有限,发出只为帮助有需要的人。
以下为实验课的复盘,内容会有大量失真,请多多包涵。
此次实验限时一个小时,时间很紧张,很多内容可能并不准确。
1.输出有规律的字母串
输入输出如下;
输入:1
输出:A
输入:2
输出:ABA
输入:3
输出:ABACABA
题解如下
#include<stdio.h>
void printLetter(int n)
{if(n==0)//递归出口return;printLetter(n-1);//进行前后两轮递归,构建字母组成的结构printf("%c",n+'A'-1);//输出字母printLetter(n-1);
}
int main(void)
{int x;scanf("%d",&x);printLetter(x);return 0;
}
2.喂恐龙(11.17题目)
此题给出了一个小恐龙吃鸡肉的情景。虽然源代码很长,但编码的难度极低,基本只需要理解结构体的组成。填空的地方只需要复制粘贴,在此就不赘述了。
3.简化地图寻路(填空题)
输入一组坐标(x>=1且y>=1)作为终点,以在第一象限中的(1,1)为起始点,计算从起始点到终点需要走的步数。
输入:3 3
输出:4
原题为(注释处为缺少的空)
此题空的位置比较刁钻,记忆的版本和现实可能有误差
#include<stdio.h>
/*
*/
int findStep(int m,int n)
{if(/* */)
/**/return findStep(m-1,n)+/* */;
}
int main (void)
{int m,n;scanf("%d %d",&m,&n);printf("%d",findStep(m,n));return 0;
}
一种题解(可能和想考的不一样)
#include<stdio.h>
int flag=0;//设置flag为全局变量,标记走过的步数
int findStep(int m,int n)//此题原点出发只有两个方向,不用回溯
{if(m==1&&n==1)//注意此题的出发点是(1,1)则此处为递归出口return flag;flag++;if(m>1)//保证m不会越界return findStep(m-1,n);if(n>1)//保证n不会越界return findStep(m,n-1);return 0;
}
int main (void)
{int m,n;scanf("%d %d",&m,&n);printf("%d",findStep(m,n));return 0;
}
4.删除链表中的重复元素
此题和oj期末考试(2.23)的题干一致,但此题作为填空题,我没能在考试时间内理解其代码想表达意思,就不在这里写了。有需要的可以看看期末考试(2.23)中的解法。
给出一个结构体链表,包含姓名、学号、年龄三个要素。输入一个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)//输入链表
{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级 实验复盘 2.23
本人能力有限,发出只为帮助有需要的人。 以下为实验课的复盘,内容会有大量失真,请多多包涵。 此次实验限时一个小时,时间很紧张,很多内容可能并不准确。 1.输出有规律的字母串 输入输出如下; 输入&…...
Linux系列 常用命令(目录和文件管理)vi和vim 编辑使用,(笔记)
作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页 目录 前言 一.常用命令(目录和文件管理) 1.查看文件内容 2.统计…...
OpenCV入门(一)Python环境的搭建
OpenCV入门(一)Python环境的搭建 因为有点Python基础,并且Python是比较好入门的编程语言,所以,机器视觉后面打算在Python这个平台下进行。 Windows平台OpenCV的Python开发环境搭建 1、Python 的下载与安装 Python是…...
3.查找算法:顺序查找和二分查找
查找查找,是指在一些数据元素中,通过一定的方法找出与给定关键字相同的数据元素的过程。列表查找(线性表查找):从列表中查找指定元素输入:列表,待查找元素输出:元素下标(…...
攻不下dfs不参加比赛(七)
标题 为什么练dfs题目总结重点为什么练dfs 相信学过数据结构的朋友都知道dfs(深度优先搜索)是里面相当重要的一种搜索算法,可能直接说大家感受不到有条件的大家可以去看看一些算法比赛。这些比赛中每一届或多或少都会牵扯到dfs,可能提到dfs大家都知道但是我们为了避免眼高手…...
精确光度预测计算工具:AGi32 Crack
什么是AGi32? AGi32首先是一种用于精确光度预测的计算工具:一种技术工具,可以计算任何情况下的照度,协助灯具放置和瞄准,并验证是否符合任意数量的照明标准。 然而,要增强对光度学结果的理解,还…...
47个SQL性能优化技巧,看到就是赚到
1、先了解MySQL的执行过程 了解了MySQL的执行过程,我们才知道如何进行sql优化。 (1)客户端发送一条查询语句到服务器; (2)服务器先查询缓存,如果命中缓存,则立即返回存储在缓存中的…...
汇川SV660N与基恩士 KV7500 控制器调试说明
1. 伺服相关部分配置 1.1 伺服相关版本 SV660N 试机建议使用“SV660N-Ecat_v0.09.xml”及以上设备描述文件。 SV660N 单板软件版本建议为“H0100901.4”及更高版本号。 1.2 相关参数说明 SV660N 对象字典中 60FD 的含义较 IS620N 有所更改:bit0、1、2 分别为负限位…...
图观 | ChatGTP是如何通过知识图谱回答问题的?
文/Emma Z1950年,图灵发表了具有里程碑意义的论文《计算机器与智能》(Computing Machinery and Intelligence),提出了一个关于机器人的著名判断原则——图灵测试,也被称为图灵判断,它指出如果第三者无法辨别…...
Mysql的索引
为什么写这篇文章呢~最近在梳理公司的数据库,在查看表结构的时候发现了这个 CREATE TABLE esp_5_N (ID int(11) NOT NULL AUTO_INCREMENT,pId int(11) DEFAULT NULL,EsFileId varchar(32) DEFAULT NULL,obligate1 varchar(45) DEFAULT NULL,obligate2 varchar(45) …...
计算机的发展
个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。个人爱好: 编程,打篮球,计算机知识个人名言:海不辞水,故能成其大;山不辞石…...
理解Spring中的依赖注入和控制反转
依赖注入(Dependency Injection)是一种面向对象编程的设计模式,用于解决对象之间的依赖关系。它的基本思想是将对象的创建和管理工作交给容器来完成,而不是在应用程序中手动创建和管理对象,从而达到松耦合、易维护、易…...
XXL-JOB
XXL-JOB介绍 XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 官网:https://www.xuxueli.com/xxl-job/ 文档:分布式任务调度…...
「牛客网C」初学者入门训练BC134,BC136
🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️🔥专栏系列:线性代数,C初学者入门训练 🔥座右铭:“不要等到什么都没有了,才下定决心去做” 🚀🚀🚀大家觉不错…...
华为OD机试题【翻转单词顺序】用 C++ 进行编码 (2023.Q1)
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧文章目录 最近更新的博客使用说明翻转单…...
4.Spring【Java面试第三季】
4.Spring【Java面试第三季】前言推荐4.Spring27_Aop的题目说明要求Spring的AOP顺序AOP常用注解面试题28_spring4下的aop测试案例业务类新建一个切面类MyAspect并为切面类新增两个注解:spring4springboot1.5.9pom测试类29_spring4下的aop测试结果aop正常顺序异常顺序…...
ZLibrary使用说明-Zlirbrary
ZLibrary使用说明如果您是一位书虫,那么ZLibrary是一个值得一试的网站。该网站提供了大量的免费电子书籍,涵盖了各种不同的主题和类别。下面是一些有关如何使用ZLibrary的详细说明:第1步:访问ZLibrary网站要使用ZLibraryÿ…...
TwinCAT3第三方伺服电机——汇川SV660N使用
目录 一、第三方伺服在TC3中配置和使用 二、xml文件拷贝 编辑 三、IO中扫描伺服 四、工程测试 五、汇川伺服参数设置说明 一、第三方伺服在TC3中配置和使用 在倍福控制系统中使用第三方伺服可以参见本人另一篇博客,有详细教程说明。本文仅仅对SV660N伺服设置…...
进制转换(二进制,八进制,十进制,十六进制)涵盖整数与小数部分,内容的图片全为手写【详细图解】
各种进制之间的相互转换1. 各进制表示数1.1 数码1.2 基数1.3 位权2. 十进制转换为其他进制2.1 整数部分2.2 小数部分3. 其他进制转换为十进制4. 二进制转换为八进制5. 二进制转换为十六进制6. 八进制转换为十六进制1. 各进制表示数 二进制:0,1逢二进一 八…...
谈谈XR关键技术及VR/AR/MR/XR关系
一、先别被VR/AR/MR/XR搞晕,说说区别虚拟现实(Virtual Reality,VR)、增强现实(Augmented Reality,AR)等业务以其三维化、自然交互、空间计算等完全不同于当前移动互联网的特性,被认为…...
Python 3.15 JIT为何在Docker中静默禁用?揭开musl libc与libffi-3.4.6 ABI不兼容的致命链
第一章:Python 3.15 JIT 的设计目标与 Docker 场景适配性Python 3.15 引入的实验性 JIT(Just-In-Time)编译器并非追求通用性能提升,而是聚焦于特定高价值场景——尤其是容器化微服务中反复执行的 CPU 密集型工作负载。其核心设计目…...
5大理由让你立即选择Argos Translate:开源离线翻译的终极解决方案
5大理由让你立即选择Argos Translate:开源离线翻译的终极解决方案 【免费下载链接】argos-translate Open-source offline translation library written in Python 项目地址: https://gitcode.com/GitHub_Trending/ar/argos-translate Argos Translate是一款…...
vLLM与SGLang多模型统一API部署实战指南
1. 为什么需要多模型统一API部署 在实际生产环境中,我们经常会遇到需要同时部署多个AI模型的场景。比如一个智能客服系统可能需要同时支持问答、情感分析和文本摘要等多个功能,每个功能背后可能对应不同的模型。如果每个模型都单独部署一套服务ÿ…...
OpenClaw技能扩展指南:为GLM-4.7-Flash添加自定义功能
OpenClaw技能扩展指南:为GLM-4.7-Flash添加自定义功能 1. 为什么需要自定义技能 去年冬天,当我第一次尝试用OpenClaw自动整理电脑上的照片时,发现现有的技能库无法满足我的特殊需求——按照拍摄地点和人物自动分类。这让我意识到࿰…...
MAX17332 Arduino库详解:单节锂电池燃料计量与独立充电控制
1. 项目概述 MAX17332 是 Maxim Integrated(现为 Analog Devices)推出的一款高度集成的单节锂离子/锂聚合物电池管理芯片,专为紧凑型便携设备设计。它并非传统意义上的“纯BMS”(Battery Management System)࿰…...
AI 大模型落地系列|Eino 组件核心篇:ChatTemplate 为什么不是字符串拼接
声明:本文数据源于官方文档与官方实现,重点参考 ChatTemplate 使用说明。 为什么很多人学 Eino 后,写 Prompt 时还是把 ChatTemplate 用成了字符串拼接?1. ChatTemplate 是什么,不是什么2. 接口虽短,但起的…...
SAP EWM开发实战:手把手教你用ABAP OO类 /SCWM/CL_SP_PRD_INB 创建内向交货单
SAP EWM开发实战:基于ABAP OO类实现内向交货单自动化创建 1. 理解内向交货单创建的技术背景 在SAP扩展仓库管理(EWM)系统中,内向交货单(Inbound Delivery)是管理入库流程的核心凭证。与传统的SAP ERP系统不同,EWM模块在设计上采用了更加灵活的…...
如何用浏览器矢量图形编辑工具提升你的设计效率?
如何用浏览器矢量图形编辑工具提升你的设计效率? 【免费下载链接】svgedit Powerful SVG-Editor for your browser 项目地址: https://gitcode.com/gh_mirrors/sv/svgedit 在数字设计领域,寻找一款既专业又便捷的矢量图形编辑工具始终是设计师和开…...
从零搭建企业级开源大模型平台:Ollama+Llama3+open-webui实战指南
1. 为什么选择OllamaLlama3open-webui组合? 最近两年大语言模型的发展速度简直让人瞠目结舌,从最初的GPT-3到现在的Llama3,模型能力突飞猛进的同时,部署门槛也在不断降低。作为一个在AI领域摸爬滚打多年的老手,我实测过…...
Java高频面试题:RocketMQ有哪些使用场景?
大家好,我是锋哥。今天分享关于【Java高频面试题:RocketMQ有哪些使用场景?】面试题 。希望对大家有帮助;Java高频面试题:RocketMQ有哪些使用场景?RocketMQ 是阿里巴巴开源的一款分布式消息中间件࿰…...
