当前位置:首页 > C++目录 > 正文内容

如何判断回文数/回文串

亿万年的星光5年前 (2021-03-27)C++目录10100

所谓回文,就是从左往右读和从右往左读都是一样的,这样的数字或者字符称为回文数/回文字符。

做题的时候经常能看到判断回文操作。判断回文的一般有两种,一种是数字类型,一种是字符类型。两种分别介绍一下。

一、回文数字


参考方法1:经过分离重组后的数字和原数字相等。

int huiwen(int num)
{
	int s=0;
	int num2=num;
	while(num){
		s=s*10+num%10;
		num=num/10;
	} 
	if(s==num2)
		return 1;
	else
		return 0; 
}



二、回文字符


int huiwen( char *s )
{
	int n,i;
	n=strlen(s)-1;
	for(i=0;i<=n/2;i++)
	  if(s[i]!=s[n-i])
	    return 0;
	return 1; 
}


或者

int huiwen ( char *p)
{
    register int i = 0;      //计数变量初始化
    int len = strlen(p); //使用STRLEN函数取字符串数组的字符位数
    for (i = 0; i <= len; i++)
    {
        if (p[i] == p[len - 1])
        {
            len--; //若首尾两个字符等值,分别向字符串中心移动一位,并判断
        }
        else
        return 0;
    }
    return 1;
}


扫描二维码推送至手机访问。

版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

分享给朋友:

相关文章

【数论】组合数学—容斥原理

【数论】组合数学—容斥原理

概念在计数时,必须注意没有重复,没有遗漏。为了使重叠部分不被重复计算,人们研究出一种新的计数方法,这种方法的基本思想是:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重...

求阶乘的方法

1.普通求法#include<iostream> using namespace std; int main(){ int sum=1;...

DEVC++中的断点调试

DEVC++中的断点调试

1.调试程序的两种方法编程的时候经常会遇到自己的输出结果跟标准结果或者预期的结果不一样,这个时候就要用到调试程序的功能。调试程序的目的有两个,一个是找出程序中的错误,另一个是监视变量的变化。2.DEV...

进制转换类问题汇总

二进制转十进制十进制转二进制十进制转M进制(M一般小于16)M进制转十进制M进制和N进制互转...

STL入门——容器3:map

一、定义    Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据&nb...

混合背包

1.问题定义:混合背包问题是经典背包问题的一个变种,其中物品的类型不单一,而是混合了以下三种类型:01 背包物品:每种物品最多只能选一次。完全背包物品:每种物品可以选择无限次。多重背包物品:每种物品有...