C语言判断回⽂字符串

使用C语言判断这个字符串是否是回⽂字符串(字符串的长度小于等于30,字符串不包含空格),如果是回文字符串输出Yes,如果不是回⽂字符串输出No。

回文串:是一个正读和反读都一样的字符串

方法:1.使用两个指针分别放置在字符串的头和尾,进行比较,如果相同,则头++,尾--.不同则结束判断

2.需要进行多次判断,使用循环.判断条件,当头尾相逢时,即证明比较都相同.

代码如下:

c 复制代码
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int IsPalindromeString(char arr[])
{
	//1.获取字符串长度
	int len = strlen(arr);
	//2.创建头尾指针
	char* left = arr;
	char* right = arr + len - 1;
	//3.循环判断
	while (left < right)
	{
		if (*left != *right)
		{
			return 0;
		}
		left++;
		right--;
	}
	//4.进行该语句证明循环停止,为回文结构
	return 1;
}
int main()
{
	char arr[32];
	scanf("%s",arr);
	int ret = IsPalindromeString(arr);
	if (ret == 1) 
	{
		printf("YES\n");
	}
	else
	{
		printf("NO\n");
	}
	return 0;
}
相关推荐
啊哦呃咦唔鱼8 分钟前
LeetCode hot100-15 三数之和
数据结构·算法·leetcode
_日拱一卒10 分钟前
LeetCode(力扣):杨辉三角||
算法·leetcode·职场和发展
rqtz14 分钟前
基于I2C总线的IMU-磁力计融合算法与数据共享
算法·iic·espidf·qmc5883p·icm42670p·imu磁力计融合
leluckys19 分钟前
算法-链表-二、成对交换两个节点
数据结构·算法·链表
小糯米60128 分钟前
C++ 排序
c++·算法·排序算法
未来之窗软件服务38 分钟前
幽冥大陆(一百12)js打造json硬件管道——东方仙盟筑基期
开发语言·javascript·算法·json·仙盟创梦ide·东方仙盟·东方仙盟算法
爱编码的小八嘎1 小时前
C语言完美演绎3—8
c语言
放下华子我只抽RuiKe51 小时前
AI大模型开发-实战精讲:从零构建 RFM 会员价值模型(进阶挑战版)
人工智能·深度学习·算法·机器学习·数据挖掘·数据分析·聚类
Nontee1 小时前
Leetcode Top100答案和解释 -- Python版本(链表)
算法·leetcode·链表