6-1 判回文

作者 唐艳琴

单位 中国人民解放军陆军工程大学

本题要求实现一个函数,判断字符串是否是回文。如果是则返回1,否则返回0。

函数接口定义:

int isecho(char a[]);

返回值为1,表示是回文;返回值为0,表示不是回文。

裁判测试程序样例:

#include <stdio.h>
#define N 100int isecho(char a[]);int main()
{char a[N];int k;scanf("%s",a);k=isecho(a);if(k)printf("%s yes",a);elseprintf("%s no",a);return 0;
}/* 请在这里填写答案 */

 

测试2数据提示:

输入数据

1234567654321

输出数据

1234567654321 yes

输入样例:

1234321

输出样例:

在这里给出相应的输出。例如:

1234321 yes

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

解题思路:

首先,我们需要理解什么是回文。回文是指一个诗句、短语、单词、数字或其他字符序列,其从前往后和从后往前是完全相同的。例如,“level”和“12321”都是回文。

其次,为了判断一个字符串是否是回文,我们可以使用双指针法。一个指针从头开始遍历字符串,另一个指针从字符串的末尾开始遍历。然后,我们比较这两个指针所指向的字符是否相等,如果相等,则同时向中间移动两个指针;如果不相等,则说明字符串不是回文,直接返回0。

最后,在遍历过程中,如果两个指针相遇或交叉,说明我们已经比较了整个字符串,这时可以返回1,表示字符串是回文。

C程序如下:

int isecho(char a[])
{char *p = a;//指针p指向a数组中的第一个元素char *q = a;//指针q指向a数组中的第一个元素while(*p !='\0')//遍历字符串,让p指向a数组中的结束符{p++;}char *r = p - 1;//此时p-1就是指向a数组中的最后一个元素//并让r指向a数组中的最后一个元素while(r > q)//右边元素地址小于左边元素地址时推出循环{if(*r != *q)//若不相等则不是回文,退出循环,返回0{return 0;}r--;q++;}return 1;//若循环结束,则说明回文,返回1
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

光线追踪5- Surface normals and multiple objects

首先&#xff0c;让我们获取一个表面法线&#xff0c;以便进行着色。这是一个垂直于交点处表面的向量。在我们的代码中&#xff0c;我们需要做一个重要的设计决定&#xff1a;法线向量是否为任意长度&#xff0c;还是将其归一化为单位长度。 诱人的是&#xff0c;如果不…

视频远程监控平台EasyCVR集成后播放只有一帧画面的原因排查与解决

智慧安防视频监控平台EasyCVR能在复杂的网络环境中&#xff08;专网、局域网、广域网、VPN、公网等&#xff09;将前端海量的设备进行统一集中接入与视频汇聚管理&#xff0c;平台可支持的接入协议包括&#xff1a;国标GB28181、RTSP/Onvif、RTMP&#xff0c;以及厂家的私有协议…

【STM32下UART协议的一些认识与使用方法】

STM32下UART协议的一些认识与使用方法 串口定义通用串行异步收发器 协议中相关的概念空闲位起始位数据位奇偶校验位三种校验方式BT接收数据的流程 停止位波特率总结 UART的三种工作方式UART控制器发送数据流程接收数据流程 UART初始化UART相关结构体和库函数 串口定义 通用串行…

揭秘共享旅游卡项目变现的6种方式,至少有4种适合创业者!

最近每天都有不少的朋友添加我&#xff0c;多数人会问一个问题&#xff0c;共享旅游卡这个项目好不好做&#xff1f;还有部分朋友会问&#xff0c;共享旅游卡有没有市场&#xff0c;是不是有我们所宣传的这样乐观&#xff1f; 从过年前开始&#xff0c;我一直在关注咱们共享旅…

自然语言处理之语言模型(LM)深度解析

自然语言处理&#xff08;Natural Language Processing&#xff0c;NLP&#xff09;作为人工智能的一个重要分支&#xff0c;近年来在学术界和工业界均取得了显著的进展。语言模型&#xff08;Language Model, LM&#xff09;是自然语言处理技术中的基石&#xff0c;它能够预测…

云计算 3月6号 (crontab-计划任务 日志轮转 免密登录)

一、计划任务 计划任务概念解析 在Linux操作系统中&#xff0c;除了用户即时执行的命令操作以外&#xff0c;还可以配置在指定的时间、指定的日期执行预先计划好的系统管理任务&#xff08;如定期备份、定期采集监测数据&#xff09;。RHEL6系统中默认已安装了at、crontab软件…

抖音视频评论区用户采集工具使用教程

抖音视频评论区用户采集工具是一款用于收集抖音视频评论区用户信息的工具。通过该工具&#xff0c;用户可以提取抖音视频评论区的用户昵称、评论内容、点赞数等信息&#xff0c;并进行数据分析和统计。该工具可以帮助用户了解抖音视频评论区的用户特点和评论趋势&#xff0c;提…

基于Spring Boot + Vue的信息化在线教学平台

末尾获取源码作者介绍&#xff1a;大家好&#xff0c;我是墨韵&#xff0c;本人4年开发经验&#xff0c;专注定制项目开发 更多项目&#xff1a;CSDN主页YAML墨韵 学如逆水行舟&#xff0c;不进则退。学习如赶路&#xff0c;不能慢一步。 目录 一、项目简介 二、开发技术与环…

事务 失效的八种情况

在某些业务场景下&#xff0c;如果一个请求中&#xff0c;需要同时写入多张表的数据。为了保证操作的原子性&#xff08;要么同时成功&#xff0c;要么同时失败&#xff09;&#xff0c;避免数据不一致的情况&#xff0c;我们一般都会用到 spring 事务。 确实&#xff0c;sprin…

Android视角看鸿蒙第一课(工程目录)

Android视角看鸿蒙第一课&#xff08;工程目录&#xff09; 导读 鸿蒙马上就来了&#xff0c;这个工作很有可能落到Android开发的头上&#xff0c;既是机遇也是挑战&#xff0c;希望能跟上时代的浪潮&#xff0c;迫不得已开始学习鸿蒙开发&#xff0c;顺带分享记录下 我的学…

【python】对角线遍历

python系列文章目录 【python】基于cv2提取图片上的文本内容 【python】简单作图 【python】数组字符串等实用 【python】sort与sorted排序使用 【python】对角线遍历 python系列文章目录说明1.分析2.注意事项2.1 遍历2.2 区间2.3 顺序 3.代码实现 说明 给你一个大小为 m x n…

Java方法重载

重载 概念 重载就是在一个类中&#xff0c;有相同的函数名&#xff0c;但形参不同的函数 规则 方法名称必须相同参数列表必须不同&#xff08;个数不同、或类型不同、参数排列顺序不同等&#xff09;方法的返回值类型可以相同也可以不同仅仅返回类型不同不足以成为方法的重载 实…

MySQl基础入门③

上一遍内容 接下来我们都使用navicat软件来操作数据了。 1.新建数据库 先创建我门自己的一个数据库 鼠标右键点击bendi那个绿色海豚的图标&#xff0c;然后选择新建数据库。 数据库名按自己喜好的填&#xff0c;不要写中文&#xff0c; 在 MySQL 8.0 中&#xff0c;最优的字…

【MATLAB】语音信号识别与处理:卷积滑动平均滤波算法去噪及谱相减算法呈现频谱

1 基本定义 卷积滑动平均滤波算法是一种基于卷积操作的滤波方法&#xff0c;它通过对信号进行卷积运算来计算移动平均值&#xff0c;以消除噪声。该算法的主要思想是将滤波窗口的加权系数定义为一个卷积核&#xff0c;对信号进行卷积运算来得到平滑后的信号。这样可以有效地去…

Java基于微信小程序的高校讲座预约系统,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

前端面试练习24.3.6

前言&#xff1a; 今天就是复习回顾一下websocket&#xff0c;之前有个AI项目使用到了这个&#xff0c;有点久远了&#xff0c;回顾一下大致过程和难点。 一些知识点&#xff1a; 1.单工&#xff0c;半双工&#xff0c;全双工 单工&#xff1a; 数据只能沿着一个方向传递&…

项目打包至私有maven仓库

文章目录 step1: 下载源项目到本地&#xff0c;确保编译无问题step2: maven配置文件settings.xmlstep 3: 项目的pom.xml配置要发布的仓库地址step 4: 执行deploy命令即可将项目打包至远程仓库 step1: 下载源项目到本地&#xff0c;确保编译无问题 step2: maven配置文件setting…

线性代数笔记11--矩阵空间、秩1矩阵

1. 矩阵空间 所有的 3 3 3 \times 3 33矩阵构成的空间 M M M。 考虑空间 M M M的子空间 上三角矩阵对称矩阵对角矩阵 3 x 3 3x3 3x3矩阵空间的基: [ 1 0 0 0 0 0 0 0 0 ] [ 0 1 0 0 0 0 0 0 0 ] [ 0 0 1 0 0 0 0 0 0 ] [ 0 0 0 1 0 0 0 0 0 ] [ 0 0 0 0 1 0 0 0 0 ] [ 0 0 …

Vector Search和专用Search Nodes:现已正式发布

我们非常高兴地推出了 Atlas Vector Search 和 Search Nodes 的正式发布版本 (GA)&#xff0c;为 Atlas 平台增添了更多价值。 自从在公开预览版中发布 Atlas Vector Search 和带有 Search Nodes 的专用基础架构以来&#xff0c;我们注意到&#xff0c;对于使用向量优化搜索节…

【Python 常用脚本及命令系列 2.4 -- 如何使用 .pyc 文件】

文章目录 如何使用 .pyc 文件 如何使用 .pyc 文件 在 Python中&#xff0c;.pyc文件是由Python源文件.py编译生成的字节码文件。这些文件通常不包含可以直接阅读的源代码&#xff0c;但是可以由Python解释器直接执行。如果别人给了你一个.pyc文件&#xff0c;你可以按照以下步…