专业课-数据结构(回文判断实验)

【测开求职】字节实习面经-2021:一面+二面+三面+hr面+交叉面 二战初试结束,疯狂在牛客上寻找机会,基本上所有的机会都是面对应届生,对二战的我来说真没办法,即使明明确确写着只招2021我也都投了,光测试开发的实习岗位我就给四五个hr投了简历,所以“牛客助手”那几天一直在给我推“简历不匹配”,慢慢也就觉得没希望了。 1月11日 接到hr的电话,问我是不是2020届毕业生,考研结果怎么样,了解了各种情况,问了实习时间,我说的是4月到8月,是的,一月份的实习,我只能四月份到岗。我不想隐瞒自己的情况,不想每一轮面试都撒谎,一五一十都讲了。hr犹豫了一下,说要问一下上级,过. 阅读详情

实验内容:
数据结构-用C语言描述(耿国华)P111实习题1
回文判断。
称正读与反读都相同的字符序列为“回文”序列。
试写一个算法,判断依次读入的一个以@为结束符的字母序列,是否为形如“序列1&序列2”模式的字符序列。其中序列1和序列2中都不含字符“&”,且序列2时序列1的逆序列。例如,“a+b&b+a”是属于该模式的字符序列,而“1+3&3-1”则不是。

#include <stdio.h>			//头文件
#define TRUE 1			//对TRUE与FALSE进行宏定义
#define FALSE 0

/*定义栈Stack用作存放输入的字符*/
typedef struct{ 
	char elem[100]; 
	int top;
}Stack;

/*预处理指令:初始化栈、入栈、出栈、判断栈是否为空*/
void InitStack(Stack *s);
int Push(Stack *s,char e);
int Pop(Stack *s,char *x);
int IsEmpty(Stack *s);

/*主函数*/ 
int main(){ 
	Stack s;								//定义存放输入字符栈的栈s 
	char ch;								//定义输入的字符为ch 
	char temp;							//当字符从栈中弹出时,使用temp暂存 
	InitStack(&s); 							//初始化栈s 
	printf("\n请输入以@为结尾的字符序列:"); 		//提示用户输入字符序列 
	ch=getchar(); 							//getchar单个输入字符 
	//当ch不为字符&时,压入栈s,循环输入字符
	while(ch!='&'){ 
		Push(&s,ch); 
		ch=getchar(); 
	} 

	/*当ch不为字符@并且栈s不为空时,将&后输入的字符与之前压入栈中的字符依次循环判断是否对应相等*/ 
	do{ 
		ch=getchar(); 						//得到&后输入的字符 
		Pop(&s,&temp);						 //将&之前压入栈s的字符出栈
		/*如果&后新输入的字符与栈s弹出的字符不依次对应相等,输出序列1与序列2不相同,返回FALSE*/ 
		if(ch!=temp){
			printf("\n序列1与序列2不相同"); 
			return(FALSE);
		}
 	}while(ch!='@' && !IsEmpty(&s)); 
		ch=getchar();		
/*当栈为空时并且输入的下一个字符为@时,说明序列1与序列2相同,反之不同*/
 		if(ch=='@' && IsEmpty(&s)){ 
		printf("\n序列1与序列2相同");
		return(TRUE);
	}else{ 
		printf("\n序列1与序列2不相同"); 
		return(FALSE); 
	}
}

/*初始化栈*/ 
void InitStack(Stack *s){ 
	s->top=-1;
}

/*入栈*/ 
int Push(Stack *s,char e){ 
	if(s->top!=99){ 
	(s->top)++; 
	s->elem[s->top]=e;
}else 
	return (FALSE);
}

/*出栈*/ 
int Pop(Stack *s,char *x){ 
	if(s->top!=-1){ 
		*x=s->elem[s->top]; 
		s->top--;
		return(TRUE); 
	}else 
		return(FALSE);
}
/*判断栈是否为空*/ 
int IsEmpty(Stack *s){
	if(s->top==-1) 
		return(TRUE); 
	return(FALSE);
}

学习感悟:
1.一开始的设置
Stack *s;
char *temp;
后面的引用相应改变,但是只能在手机上运行,无法在电脑上运行,于是一直在debug,最后改成了
Stack s;
char tempt;
后面相应使用&进行引用,但是不太清楚为什么,如果有知道同学可以告诉我一下,谢谢您!!!

回文判断,回文判断,试编写一个算法,判断依次读入的一个以@为结素符的字母序列 回文判断,试编写一个算法,判断依次读入的一个以@为结素符的字母序列。自己找到的,希望帮到你们。 立即下载

相关推荐

判断字符序列是否是回文

试写一个算法,判断依次读入的一个以@为结束符的字符序列,是否为回文。所谓“回文“是指正向读和反向读都一样的一字符串,如“321123”或“ableelba”。

数据结构例题1

1.定义正读和反读都相同的字符序列为“回文”, 例如,“abcdcba”是回文,“ashgash”不是回文。 试写一个算法判断读入的一个以‘@’为结束符的字符序列是否为回文。 int IsReverse(){ PseqStack S; PseqQueue Q; char e,x,y; S=Init_SeqStack(); //初始化栈 S Q=Init_SeqQueue(); //初始化队列 Q While((e=getchar())!='@'){ //遇到@停止输入 Pus.

zzzbiu的博客 1112

Tesseral 建立地震模型

0. 前言 本节内容主要是总结如何使用 Tesseral 工具建立模型。 1. 模型建立步骤 设置模型的宽度和深度 此处默认都为1000,之后点击“确定” 建立地层 绘制新的地层 右键点击“New polygon” 绘制地层,设置第二个层的名字和纵波速度 绘制第三层,第三层覆盖在前一个层上 第四层如上,第四层如果是最后一层,绘制该层时,要将深度1000包围。 设置观测系统 设置炮点 设置子波为雷克子波,频率设置为30 检波点设置 运行模型 设置好如上选择后,

weixin_41857483的博客 6539

通过栈实现回文判断

数据结构 题目 称正读与反读都相同的字符序列为“回文”序列。 试写一个算法,判断依次读入的一个以@为结束符的字母序列,是否为形如“序列1&序列2”模式的字符序列。其中序列1和序列2中都不含字符“&”,且序列2时序列1的逆序列。例如,“a+b&b+a”是属于该模式的字符序列,而“1+3&3-1”则不是。 程序源代码 #include<stdio.h> #include<stdlib.h> #include<string.h> #d

qq_52399817的博客 4217

从UC3842的FB脚到COMP脚:一次讲透反激电源两种光耦反馈接法的选择与实战

本文深入探讨了UC3842 PWM控制器在反激式开关电源设计中的两种光耦反馈接法:FB脚与COMP脚方案。通过分析信号极性差异、稳定性特点及动态响应性能,提供场景化选型指南和可靠性设计要点,帮助工程师优化反馈环路设计,提升系统稳定性与效率。特别针对TL431和PC817等关键元件在温度漂移、老化衰减等实际问题给出解决方案。

weixin_28717683的博客 704

CVAT自动标注避坑指南:如何解决Nuclio工程创建失败和镜像拉取问题

本文是一份针对CVAT自动标注部署中常见问题的实战排障指南。文章深入剖析了Nuclio工程创建失败的根源,提供了网络配置、服务状态检查等系统性解决方案,并详细讲解了如何解决gcr.io等海外镜像拉取难题,帮助开发者顺利完成CVAT自动标注环境的搭建与部署。

weixin_29207533的博客 232

【数据结构】判定给定的字符序列是否为回文

文章目录问题思路 问题 回文是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。试写一个算法判定给定的字符序列是否为回文。是回文。试写一个算法判定给定的字符序列是否为回文。 思路 总思路:将所有元素进栈,然后依次出栈与数组元素比较 具体步骤 1、键盘输入需要判断的字符串存放在数组中 2、将数组中的元素依次进栈 3、栈顶元素出栈与数组元素比较 效果相当于 a[3] a[0]与a[2]比较 a[1]与a[1]比较 a[2]与a[0]比较 代码如下: #include

qq_45280880的博客 1万+

QGis软件 —— 9、QGis - 由点绘制热力图来模拟人流量(绘制点方式、excel导入数据方式)

QGis软件 —— 9、QGis - 由点绘制热力图来模拟人流量(绘制点方式、excel导入数据方式)

1469

回文判断问题

【问题描述】 试写一个算法,判断依次读入的一个以@为结束的字母序列,是否为形如 “序列1&序列2” 模式的字符序列。其中 序列1 和 序列2 中都不含字符 “&”,且 序列2 是 序列1 的 逆序列。例如:“a+b&b+a” 是属该模式的字符序列,而“1+3&3-1”则不是。 【测试数据】 由学生自己确定。注意测试边界数据,例如序列1和序列2均为空串。 代码: 首先创建一个栈: 详细如何建栈的过程可以参考博文:用C语言创建一个栈 #include<std

weixin_51275821的博客 706

2025华为od机试真题B卷【停车场费用统计】Python实现

2025华为od机试真题B卷【停车场费用统计】Python实现

MISAYAONE的博客 535

零基础学习simulink-- 四旋翼和六旋翼无人机的建模与动力学分析

通过上述代码实现,您可以逐步创建和搭建一个多旋翼无人机(如四旋翼、六旋翼)的动力学模型,并结合自适应控制器进行仿真。该模型不仅考虑了无人机的基本动力学行为,还引入了空气阻力、螺旋桨之间的相互作用以及气流干扰等复杂效应,使得仿真结果更加接近实际情况。Simulink 提供了强大的建模和仿真工具,使得控制系统工程师能够快速构建复杂的控制算法,并将其应用于实际工程中。多旋翼无人机动力学建模:建立四旋翼和六旋翼无人机的动力学模型,包括平移运动和旋转运动方程。升力和扭矩模型。

amy_mhd的博客 387

【PTA】验证回文串和判断双对称方阵

验证回文串和判断双对称方阵习题

m0_65144570的博客 765

【2024年华为秋招-12月25日-第三题(300分)- PCB印刷电路板布线】(题目+思路+Java&C++&Python解析+在线测试)

在PCB印刷电路板设计中,器件之间的连线需要避免线路的阻抗值增大、而且赛件之间还有别的器件和别的干扰源,在布线时我们希望受到的干扰尽量小。现将电路板简化成一个M×N的矩阵,每个位置(单元格)的值表示其源干扰度。如果单元格的值为0,表示此位置没有干扰源;如果单元格的值为非0,则表示此位置是干扰源,其值为源干扰度。连线经过干扰源或干扰源附近会增加连线的总干扰度。位置Axy的干扰源的源干扰度为dd01、若连线经过位置Axy,则其总干扰度会增加d;2、若连线经过离位置A。

m0_73659489的博客 344

考研 C与数据结构代码总结目录页

文章目录一、CC的应用位运算二、数据结构链表栈队列树图排序 前言:2019考研,我考的专业课是数据结构(含C语言程序设计),在考研备考期间,初学数据结构,感觉也是很曲折。刚开始复习看着每道题只有关键代码很头疼,为了保证自己的代码有同样的效果,不得不花很多时间去完善非重点部分的代码来完整运行起来,暑假写了挺多这种细枝末节的代码,也记录了一些放在我的Github上,不过没有整理目录,看着很乱,今天无意...

记录时光的脚步 1809

硬核反坑!YOLOv5训练避坑指南:根治梯度消失、不收敛、检测漏框三大核心问题(附实战代码+调优清单)

数据是基础,超参数是关键,模型是工具,训练策略是保障。梯度消失、不收敛、检测漏框这三大问题,本质上都是“数据-模型-训练”不匹配的结果。梯度消失/爆炸:优先调整学习率策略+梯度裁剪,其次优化模型结构;训练不收敛:优先清洗数据集,其次调优超参数,最后检查配置文件;检测漏框:优先重新聚类锚框,其次增强浅层特征,最后调整推理参数。YOLOv5训练的最高境界,不是调参,而是让数据、模型、训练策略三者完美匹配。按本文的方法反坑,你的YOLOv5训练一定能一次成功!🚀。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 233

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

915历年编程题_汇总与分析(2014~2023)

em....这篇博客主要是自己复习专业课来用的,由于都是编程题,我觉得还是以博客的形式把代码和个别思路写下来会好一些。由于这些代码并没有提交AC,所以出错概率很大(毕竟以前比赛自己一次AC的经历也不是很多),如果发现哪里有问题,欢迎在评论区留言讨论。.................................

Alanrookie的博客 4906

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

杭电计算机历年复试

一、笔试:   2006 1.回文检测 2.n个数排序 #################################### 2008 第一道,输入一个数值,然后提取奇数位,组成一个新的数值,把它赋值到一个变量中. 第二道,题目大体是(英文):输入两个大数,大到目前的基本数据类型都无法表示, 就是对它们 相加,赋值到另外一个变量SUM里去 ###########################

学习记录专栏 2508

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

天大计算机专业相关

至各位2015考天大计算机/软件的同学 我今年考上了天大的计算机专硕,今年分数并不高,数学107,英语55,政治57,专业课118。我做了4年的学渣,六级考了6次没过,相信大家都比我强吧。我是个二战考生,两次考天大计算机的经历相信还是比较有发言权的。废话不多说直接进入正题: 1、 901简介:天大计算机和软件的专业课代号是901——数据结构和C++程序设计,以后就简称901了,901

Achiberx 2305

python编程练习(三)

一:研究生考试 考研有4门科目,分别是政治(满分100分),英语(满分100分),数学(满分150分)和专业课(满分150分)。某校计算机专业今年录取研究生的要求是:政治、英语每门课成绩不低于60分,数学和专业课不低于90分,总成绩不低于310分。并且规定:在满足单科以及总成绩最低要求的基础上,350分以上(含350分)为公费(Gongfei),310分~349分为自费(Zifei)。 请编程...

qq_27163197的博客 982

保研复习 vlog

讲道理看着自己的 bg(尤其是有点拉跨的 rk) 似乎并没有很大的希望去冲外校,但是博主不死心,还是还要努力挣扎一下。大概是看了看自己想去的学校(或者说希望比较大的),几乎都是强 com。哈哈哈这辈子有了(www)。所以开个帖记录一下自己从现在开始到夏令营、预推免甚至最后的九推(不过博主生性胆小,应该不可能去赌)的复习历程。

mathcode的博客 326

C++学习笔记 第三章 函数

1.斐波那契数列   #include&lt;stdio.h&gt; int Fib(int x) { if (x &lt;3) { printf("return 1!\n"); return(1); } else { printf("Fib(%d) and Fib(%d)\n", x - 2, x - 1); return(Fib(x - 2) + Fib(x - 1...

老肥码码码 308

回忆自己的大学四年得与失

转眼间,大学四年就过去了,我一直在犹豫到底要不要写一篇文章来回忆自己大学四年的所得所失,最后还是准备写下这样一篇文章来纪念自己的大学四年吧!这篇文章是写给自己的,多少年之后回想起自己的大学青春也是美好的回忆.也希望大家像读小说一样看完后也能温馨一笑或唏嘘摇头,想想自己的大学生活吧!如果有错误或不足之处,请海涵或当做荒唐之言即可. 一.大一生活          初到大学的我们都是

有趣的人生 一半是山川湖海 一半是初心情怀 7237

2018新浪Java笔试总结

今天晚上参加了新浪的笔试,感觉考的都是很基础的题目。学计算机的同学只要上专业课认真了,基本选择题就不是很难。选择题大部分考察的是操作系统和计算机网络原理这两门课 题型:10个选择(3/个),5个综合应用(70分) 选择题 死锁(操作系统) Java线程状态的转换(操作系统) 选项:就绪态 ->运行态; 初始态 -> 就绪态 对象创建的过程 先定义,然后分配存储空间,初...

weixin_30633949的博客 104

江苏大学885程序设计考研编程题核心考点与实战解析

数据结构与算法是计算机科学的核心基础,其原理在于通过特定的数据组织方式(如数组、链表、栈、队列)和高效的算法策略(如递归、分治、动态规划)来解决复杂问题。掌握这些基础技术对于提升编程能力、优化程序性能具有重要价值,广泛应用于软件开发、系统设计和考研专业课等场景。本文聚焦江苏大学885程序设计考研真题,针对编程题这一关键拉分项,系统拆解了其核心考点,包括数组/字符串处理、链表操作、递归应用等高频题型。通过引入【代码健壮性】和【边界条件】等关键热词,深入剖析了从问题抽象、算法选型到模块化编码的完整解题框架,并提

weixin_32050773的博客 316

搜狐校招研发工程师笔试题解析:知识点权重与避坑指南

校招笔试是研发工程师求职路上的关键关卡,其考察内容往往围绕数据结构、算法、操作系统、计算机网络等计算机核心基础展开。理解这些知识点的底层原理,例如排序算法的稳定性、TCP三次握手的过程,或者进程与线程的区别,不仅有助于应对笔试中的选择题与编程题,更能体现候选人的工程思维与问题分析能力。在互联网公司的技术招聘中,基础知识的覆盖面、手写代码的准确度以及边界条件的处理能力,往往是区分候选人的重要维度。本文以一套典型的研发工程师模拟笔试题为样本,拆解题型分布、考点权重、做题顺序与常见误区,帮助求职者系统梳理复习方向

weixin_42538175的博客 240

怀着忐忑的心情,我来了B站实习,B站后端日常实习面经分享!

写在前面: lz大三,专业课还没上完,为了面试自己提前看了计网和OS。因为是第一次找实习,简历也不太会写,之前投了很多家公司都被秒拒了,投的字节也是。后来字节的hr给我打电话说我的简历里没有项目是会被系统自动拒掉的,所以瞎写了几个项目,被捞起拉去面试了 从大概11月初开始面字节,第一次面三面后挂了,然后又被hr捞起来又面了一次,这次四面过了,可能这个部门真的很缺人吧hhh因为时间久远,好多细节记不得了 一面: 我这辈子第一次面试,特别紧张,设备没有调试好,面试官那边听不到我声音,所以就推迟面试了,耽

欢迎您访问我的公众号【前程有光】 6207
上一篇: 专业课-计算方法(实验)
下一篇: 专业课-数据结构(树与二叉树实验)
folinggg
博客等级 码龄6年 20粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值