当前位置: 首页 > news >正文

计算机考研自命题(2)

1、C语言-字符串交替拼接

1、用C编程,将两个字符串数组存储实现交替连接如aaa和bbb两个字符连接成ababab 如aaa和baba 两个字符,连接成 abaaaba

#include<stdio.h>/*
解题思路:将两个字符串交替拼接,定义三个数组,
str1[]存放第一个字符串 
str2[]存放第二个字符串 
str3[]存放拼接的字符串
然后交替放入str3中,首先str3数组下标偶数位先放入str1中的字符,奇数位放入str2中的字符,实现交替连接
然后看谁的字符串更短将更长的字符串全部放入str3中 
*/ 
int main() {char str1[10],str2[10],str3[20];int i=0,j=0,k=0;           		// i记录str1的下标,j记录str2的下标,k记录str3的下标printf("输入第一个字符串:");scanf("%s",str1);printf("输入第二个字符串:");scanf("%s",str2);while(1) {if(k%2 == 0) {   // 依次把str1和str2中 的元素加入str3中 str3[k++] = str1[i++];   } else {str3[k++] = str2[j++];}if(str1[i] == '\0' || str2[j] == '\0') {   // 字符串的长度不一样,看str1和str2谁先到达末尾 if(str1[i] == '\0' ) {			// str1已经全部放入str3中, while(str2[j] != '\0') {	// 则依次将str2中的元素依次加入str3中 str3[k++] = str2[j++];}break;						// 所有元素加入str3 退出大循环 } else {while(str1[i] != '\0') {    //  str2全部放入str3中,加str1中剩余元素依次放入str3 str3[k++] = str1[i++];}break;}}}puts(str3);			// 将str3中的字符串输出 return 0;
}

2、C语言–最大公约数和最小公倍数

2、求最大公约数和最小公倍数

// 方法1、递归方法
#include <stdio.h>/*
解题思路:
最大公约数指的是两个或多个整数共有约数中最大的一个
采用的是欧几里得算法,也叫辗转相除法:就是将 a,b两个数取余数假设 t = a%b,然后将较小的元素 b 对t再取余数,直到最后余数为0,则最后依次取余数的 b就是最大公约数最小公倍数:两个或多个数公有的倍数 ,设a,b两个数  则 LCM = (x*y)/Gcd(x,y)
*/// 最大公约数 递归:辗转相除法 
int Gcd(int a,int b){if(b>0){return Gcd(b,a%b);}else{return a;}
} // 最小公倍数
int Lcm(int x,int y){return (x*y)/Gcd(x,y);
} // 主函数
int main()
{int a,b;scanf("%d %d",&a,&b);printf("最大公约数为:%d\n",Gcd(a,b));printf("最小公倍数为:%d",Lcm(a,b)); return 0;
}

3、数据结构-线索二叉树

3、将10个数字进行排序,二叉树给前序和中序序列,要求画出二叉树并求 后续线索二叉树(给了10个字母)

4、数据结构-哈希表

4、Hash(哈希)排序,6个数,mod7线性排列,并求出比较次数

5、数据结构-快速排序

5、快速排序,写出每趟结果(给了10个具体的数)

/*
解题思路:递归思想
快速排序的思想是取第一个元素作为数轴元素,
然后将原来的序列分为两个部分,左边比枢轴元素小,右边比枢轴元素大,然后将左边的元素再进行快速排序
右边的元素也再进行快速排序,直到序列递增有序*/// 寻找指定位置 ,将枢轴元素分成两个部分
int partition(int A[],int low,int high) {int pivot = A[low];while(low<high) {while(low<high && A[high]>=pivot) {--high;}A[low] = A[high];while(low<high && A[high]<=pivot) {++low;}A[high] = A[low];}A[low] = pivot;return low;
}void QuickSort(int A[],int low,int high) {if(low<high) {int pivotpos = partition(A,low,high);QuickSort(A,low,pivotpos-1);QuickSort(A,pivotpos+1,high);}
}

6、数据结构-二叉树

6、设计算法求二叉树的双亲结点

# include<stdio.h>/*
解题思路: 采用递归思想 
跟据树的先序遍历进行改造,
先看根节点是否有左右子树,并且左右子树是否为x,如果是,则是双亲结点,如果不是
则寻找T的整个左子树和T的整个右子树 
*/// 二叉树定义 
typedef struct BiNode{ELemType data;struct BiNode *lchild,*rchild
}BiNode,*BiTree;// 找双亲结点
BiNode * Findparent(BiTree T,ElemType x){if(T->lchile !=NULL && T->lchild == x){ // 如果存在左子树并且左子树就是x 则T就是x 的双亲结点 return T;}if(T->rchile !=NULL && T->rchild == x){ // 如果存在右子树 且右子树就是x 则T就是x 的双亲结点return T;}* Findparent(T->lchild,x);  * Findparent(T->rchild,x);
} 

7、数据结构-删除重复结点

7、删除链表中重复的结点

/*
解题思路:设置三个指针,p,q = p->next, pre(q的前趋指针),
通过q指针遍历链表,如果和p相同则删除,如果不同,则p后移,q还是从头遍历
直到找出所有相同的结点并删除 
*/// 单链表结构定义
typedef struct LNode{ElemType data;struct LNode *next;
}LNode,*LinkList;/*无序链表*/
void delete_same(LinkList &L){LNode *p = L->next;LNode *q = p->next;LNode *pre = p;		// q的前趋结点for(p,p!=NULL,p = p->next){for(q,q!=NULL;q=q->next,pre = pre->next){LNode *s;   // 待删除结点if(p->data = q->data){s = q;pre->next = q->next;q = pre->next;free(s);} }} 
}// 如果是有序链表的话
/*
定义两个指针p,q。q指针永远指向p的下一个结点,然后遍历链表
*/
void delete_same(LinkList &L){LNode *p = L->next;LNode *q;while(p!=NULL){q = p->next;if(p->data == q->data){p->next = q->next;free(q);}else{p = p->next;}}}

相关文章:

计算机考研自命题(2)

1、C语言-字符串交替拼接 1、用C编程&#xff0c;将两个字符串数组存储实现交替连接如aaa和bbb两个字符连接成ababab 如aaa和baba 两个字符&#xff0c;连接成 abaaaba #include<stdio.h>/* 解题思路&#xff1a;将两个字符串交替拼接&#xff0c;定义三个数组&#xff0…...

ZKP6.1 Discrete-log-based Polynomial Commitments (Preliminary)

ZKP学习笔记 ZK-Learning MOOC课程笔记 Lecture 6: Discrete-log-based Polynomial Commitments (Yupeng Zhang) Recall How to build an efficient SNARK? A polynomial commitment scheme A polynomial interactive oracle proof (IOP) SNARK for general circuits Plo…...

五金经营小程序商城的作用体现在哪

对消费者而言&#xff0c;如今线上购买五金是很多人的选择&#xff0c;传统线下购买&#xff0c;不仅需要跑路&#xff0c;而且店内未必有所需品&#xff0c;但线上平台则一目了然购买所需品&#xff0c;本地/外地均可以触达到&#xff0c;同时还可对用户/会员进行高效管理&…...

今年这行情,不会自动化的要做好心理准备了

李强是一名软件测试工程师&#xff0c;入行之后在一家小型公司工作了五年。这段时间里&#xff0c;他主要负责手工测试和一些简单的自动化测试工作。由于公司项目也相对简单&#xff0c;他逐渐陷入了工作的舒适区&#xff0c;没有积极追求新的知识和技能。 然而随着身边朋友发展…...

汽车保养笔记

汽车保养笔记 汽车小保养汽车大保养五油&#xff1a;机油变速箱油刹车油转向助力油离合器油 四滤&#xff1a;机油滤芯更换空气滤芯更换空调滤芯更换汽油滤芯更换 三水防冻液(水)玻璃水电瓶水 其他刹车片球头减震器火花塞 4S店的4大套路---没必要清洗节气门更换火花塞和高压线圈…...

【斗破年番】官方改编用心了,彩鳞怀孕并未删,萧潇肯定登场,真相在丹药身上

【侵权联系删除】 【文/郑尔巴金】 斗破苍穹年番动画已经更新了&#xff0c;相信不少人都感觉到不可思议&#xff0c;萧炎跟随美杜莎女王回蛇人族的剧情&#xff0c;居然魔改成这样。好好的腹中孕育出新生命&#xff0c;变成了陨落心炎残余能量&#xff0c;不及时处理的话&…...

英语——分享篇——每日200词——3201-3400

3201——air-conditioning——[eərkəndɪʃnɪŋ]——n.空调设备&#xff1b;vt.给…装上空调——air-conditioning——air-condition空调(熟词)ing鹰(谐音)——空调设备的噪音让鹰不得安宁——The trains dont even have proper air-conditioning, grumbles Mr So. ——地铁…...

合并区间(C++解法)

题目 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 示例 1&#xff1a; 输入&#xff1a;intervals …...

CUDA学习笔记(十四) Constant Memory

转载至https://www.cnblogs.com/1024incn/tag/CUDA/ CONSTANT MEMORY constant Memory对于device来说只读但是对于host是可读可写。constant Memory和global Memory一样都位于DRAM&#xff0c;并且有一个独立的on-chip cache&#xff0c;比直接从constant Memory读取要快得多…...

使用MFC创建一个SaleSystem

目录 1、项目的创建&#xff1a; 2、项目的配置&#xff1a; 3、设置窗口属性&#xff1a; &#xff08;1&#xff09;、设置图标 1&#xff09;、添加导入资源 2&#xff09;、代码初始化图标 &#xff08;2&#xff09;、设置标题 &#xff08;3&#xff09;、设置窗口…...

grafana v10.1版本设置告警

1. 相关概念概述 如图所示&#xff0c;点击切换菜单标志&#xff0c;可以看到警报相关子选项。 警报规则&#xff1a;通过PromQL语句定义告警规则&#xff0c;即达到怎样的状态触发告警。 联络点&#xff1a; 设置当警报规则实例触发时&#xff0c;如何通知联系人&#xff0c;…...

Python+Requests+PyTest+Excel+Allure 接口自动化测试实战

本文主要介绍了PythonRequestsPyTestExcelAllure 接口自动化测试实战&#xff0c;文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值&#xff0c;需要的朋友们下面随着小编来一起学习学习吧 Unittest是Python标准库中自带的单元测试框架…...

日志分析系统——ELK

目录 一、ELK概述 ELK的组成 1、ElasticSearch 2、Logstash 3、Kiabana 完整日志采集系统基本特征 ELK的工作原理 二、ELK的部署 1、环境准备 2、部署ElasticSearch软件 3、安装Elasticsearch-head插件 4、Logstash部署 5、Kibana部署 三、FilebeatELK部署 1、安…...

Ubuntu小知识总结

Ubuntu相关的小知识总结 一、Ubuntu系统下修改用户开机密码二、Vmware虚拟机和主机之间复制、粘贴内容、拖拽文件的详细方法问题描述Vmware tools灰色不能安装解决方法小知识点&#xff1a;MarkDown的空格 三、Ubuntu虚拟机网络无法连接的几种解决方法1.重启网络编辑器2. 重启虚…...

2023年全球市场新能源汽车车载充电器总体规模、主要生产商、主要地区、产品和应用细分研究报告

按收入计&#xff0c;2022年全球新能源汽车车载充电器收入大约 百万美元&#xff0c;预计2029年达到 百万美元&#xff0c;2023至2029期间&#xff0c;年复合增长率CAGR为 %。同时2022年全球新能源汽车车载充电器销量大约 &#xff0c;预计2029年将达到 。2022年中国市场规模大…...

基于stm32控制的ESP8266在设备模式下通讯

一、文章中要用的指令 指令作用ATUART115200,8,1,0,0之前的51通讯是9600&#xff0c;这里的321用的是115200&#xff0c;需要改一下波特率ATCWMODEXX是1代表station&#xff08;设备&#xff09;模式 &#xff0c;X是2代表AP&#xff08;路由&#xff09;模式 &#xff0c;X是…...

用PHP组合数组,生成笛卡尔积。写几个例子

#创作灵感# [红色&#xff0c;白色&#xff0c;黄色&#xff0c;蓝色] [128G,256G,512G] [国行,港版,美版&#xff0c;韩版] 用PHP组合数组&#xff0c;生成笛卡尔积。写几个例子 你可以使用嵌套的循环来生成这些数组的笛卡尔积。以下是一些示例代码&#xff1a; // 示例…...

软设上午题错题知识点7

软设上午题错题知识点7 1、数据流图摆脱系统的物理内容&#xff0c;在逻辑上描述系统的功能、输入、输出和数据存储等&#xff0c;是系统逻辑模型的重要组成部分。 2、HTTPS&#xff08;Secure Hypertext Transfer Protocol&#xff09;安全超文本传输协议。 它是一个安全通信…...

让uniGUI支持https

今天在专家的帮助下&#xff0c;成功的让uniGUI支持https了。 首先&#xff0c;去申请个**的证书。我同事去阿里申请的&#xff0c;申请回是一个zip文件&#xff0c;里面有两个文件&#xff0c;一个扩展是per&#xff0c;一个key 然后&#xff0c;把这两个证书文件放到uniGUI…...

iPhone怎么导出微信聊天记录?3个值得收藏的方法

随着时间的推移&#xff0c;微信占用的内存空间会“膨胀”得越来越大。当手机内存不足时&#xff0c;清理微信中的聊天记录是一个可行的方法。但是很多小伙伴觉得有些重要的聊天记录还有用&#xff0c;可能以后需要进行查看。 因此&#xff0c;他们想将一些聊天记录进行导出或…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作&#xff1a; 1&#xff09;、切换集群 2&#xff09;、切换节点 3&#xff09;、切换到 apparmor 的目录 4&#xff09;、执行 apparmor 策略模块 5&#xff09;、修改 pod 文件 6&#xff09;、…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

【生成模型】视频生成论文调研

工作清单 上游应用方向&#xff1a;控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中&#xff0c;我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道&#xff0c;它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测

uniapp 中配置 配置manifest 文档&#xff1a;manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号&#xff1a;4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...