`
hongbochen1223
  • 浏览: 43664 次
文章分类
社区版块
存档分类
最新评论

C实例--判断一个字符串是否是回文数

 
阅读更多

回文是指顺读和反读内容均相同的字符串,例如”121”,”ABBA”,”X”等。本实例将编写函数判断字符串是否是回文。

引入两个指针变量,开始时,两个指针分别指向字符串的首末字符,当两个指针所指字符相等时,两个指针分别向后和向前移动一个字符位置,并继续比较,直到两个指针相遇,说明该字符串是回文,如果比较过程中发现两个指针指向的字符不相等,则判断该字符串不是回文。

下面是代码的实现部分:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define N 20

int Cycle(char *s);

/**
 * 回文是指顺读和反读内容均相同的字符串,例如"121","ABBA","X"等。
 * 本实例将编写函数判断字符串是否是回文。
 *
 */
int main()
{
    char s[N];

    while(1){
        printf("Please input the string you want to judge(input ^ to quit):\n");
        scanf("%s",&s);

        if(s[0] == '^'){
            break;
        }

        if(Cycle(s)){
            printf("%s is a cycle string!\n",s);
        }else{
            printf("%s is not a cycle string!\n",s);
        }
    }

    return 0;
}

/**
 * 判断字符串s是否是回文
 *
 * param:
 *  char *s: 被判断的字符串
 * return:
 *  0:      表示字符串s不是回文数
 *  非零:  表示字符串s是回文数
 */
int Cycle(char *s){
    char *h,*t;

    for(h = s,t = s + strlen(s) - 1;t > h;h++,t--)
        if(*h != *t) break;

    return t <= h;
}

下面是程序的运行结果:

这里写图片描述

在做这个实例的时候,让我想到了之前有一个实例是判断一个数是否是回文数,是这样做的,假设一个数n=232,从各位数字开始,分别为2,3,2;这些数字分别乘以100,10,1最后相加,比较和原来的数是否相等,就能判断该数书否是回文数字了。

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    PHP判断一个字符串是否是回文字符串的方法

    主要介绍了PHP判断一个字符串是否是回文字符串的方法,实例分析了php操作字符串判断回文的技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    C++/C 回文字符串的实例详解

    C++/C回文字符串的实例详解判断输入的字符串是不是回文字符串,正反读一样。.C版#include&lt;stdio&gt;int main(){ char he[100]; char a; int i=0,flag=1; while((a=getchar())!='\n') { he[i]=a; i++; } int n=i; for(i=...

    C++实现判断字符串是否回文实例解析

    主要介绍了C++实现判断字符串是否回文,其中采用了数据结构中栈以及过滤字符等技术,,需要的朋友可以参考下

    Python回文字符串及回文数字判定功能示例

    所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的。回文数字也是如此。 python2代码如下: def huiwen(s): s1=str(s) if s1==''.join(reversed(s1)): return True else: return False ...

    JAVA字符串比较、提取子串等源码小合集.rar

    Java 字符串与文本相关实例源码,比如不可变字符串与限定字符串、字符串的比较、提取子串、修改缓冲区中的字符串、判断回文串、正则表达式、字符串匹配、正则表达式语法等,还一一些比如用于比较两个变量是否引用同...

    JS使用栈判断给定字符串是否是回文算法示例

    本文实例讲述了JS使用栈判断给定字符串是否是回文算法。分享给大家供大家参考,具体如下: /*使用栈stack类的实现*/ function stack() { this.dataStore = [];//保存栈内元素,初始化为一个空数组 this.top = 0;/...

    c语言实例解析(第二版)高清pdf电子书

    实例28 从键盘读入实数 实例29 字符行排版 实例30 字符排列 实例31 判断字符串是否回文 实例32 通讯录的输入输出 实例33 扑克牌的结构表示 实例34 用“结构”统计学生成绩 实例35 报数游戏 ...

    js如何找出字符串中的最长回文串

    本文实例为大家分享了js找出字符串中的最长回文串的具体代码,供大家参考,具体内容如下 &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset=utf-8&gt; &lt;meta ...

    Java判断字符串回文的代码实例

    在本篇文章里小编给各位整理的是一篇关于Java判断字符串回文的代码实例内容,需要的朋友们可以跟着学习参考下。

    C语言实例解析精粹(第二版) 光盘代码

    031 判断字符串是否回文 032 通讯录的输入输出 033 扑克牌的结构表示 034 用“结构”统计学生成绩 035 报数游戏 036 模拟社会关系 037 统计文件的字符数 038 同时显示两个文件的内容 039 简单的文本编辑器 040 文件...

    Python针对给定字符串求解所有子序列是否为回文序列的方法

    给定一个字符串,得到所有的子序列,判断是否为回文序列 思路: 对字符串遍历切片即可 下面是具体实现: #!usr/bin/env python # -*- coding:utf-8 -*- ''''' __AUthor__:沂水寒城 功能:对指定字符串寻找所有回...

    C语言用栈和队列实现的回文检测功能示例

    本文实例讲述了C语言用栈和队列实现的回文功能。分享给大家供大家参考,具体如下: #include #include&lt;malloc&gt;//内存分配头文件 #include&lt;math.h&gt;//在math.h中已定义OVERFLOW的值为3 #define SIZE 100 #...

    Java 字符串与文本相关实例

    Java 字符串与文本相关实例源码,比如不可变字符串与限定字符串、字符串的比较、提取子串、修改缓冲区中的字符串、判断回文串、正则表达式、字符串匹配、正则表达式语法等,还一一些比如用于比较两个变量是否引用同...

    Python3实现的回文数判断及罗马数字转整数算法示例

    判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。...

    C语言实例解析精粹

    031 判断字符串是否回文 032 通讯录的输入输出 033 扑克牌的结构表示 034 用“结构”统计学生成绩 035 报数游戏 036 模拟社会关系 037 统计文件的字符数 038 同时显示两个文件的内容 039 简单的文本编辑器 ...

    Python实现判断一个整数是否为回文数算法示例

    主要介绍了Python实现判断一个整数是否为回文数算法,结合实例形式分析了Python针对字符串的翻转、判断等相关操作技巧,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics