回文是指顺读和反读内容均同样的字符串。比如”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最后相加。比較和原来的数是否相等。就能推断该数书否是回文数字了。

C实例--推断一个字符串是否是回文数的更多相关文章

  1. leetcode9_C++判断一个整数是否是回文数

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

  2. 判断一个整数是否是回文数C++实现 leetcode系列(九)

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

  3. Java判断一个字符串是否是回文

    package com.spring.test; /** * 判断字符串是否为回文 * * @author liuwenlong * @create 2020-08-31 11:33:04 */ @S ...

  4. js判断一个字符串是否是回文字符串

    回文字符串:即字符串从前往后读和从后往前读字符顺序是一致的. 如:字符串abccba,从前往后读是a-b-c-c-b-a:从后往前读也是a-b-c-c-b-a 方法一 function palindR ...

  5. 009 Palindrome Number 判断一个正整数是否是回文数

    详见:https://leetcode.com/problems/palindrome-number/description/ 实现语言:Java 方法一: class Solution { publ ...

  6. LeetCode 9、判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

    class Solution: def isPalindrome(self, x: int) -> bool: a = x if a<0: return False else: num = ...

  7. C++刷题——2802: 推断字符串是否为回文

    Description 编敲代码,推断输入的一个字符串是否为回文. 若是则输出"Yes".否则输出"No". 所谓回文是指順读和倒读都是一样的字符串. Inpu ...

  8. YTUOJ-推断字符串是否为回文

    题目描写叙述 编敲代码,推断输入的一个字符串是否为回文.若是则输出"Yes",否则输出"No".所谓回文是指順读和倒读都是一样的字符串. 输入 输出 例子输入 ...

  9. 【Python 实例】回文数判断

    [Python 实例]回文数判断 题目: 源代码: 运行结果: 题目: 判断输入的字符串是否为回文数 源代码: """ string_reverse_output():反 ...

随机推荐

  1. 适应多行长文本的Android TextView

    适应多行长文本的Android TextView

  2. elasticsearch 索引 类型 id

    zjtest7-frontend:/usr/local/logstash-2.3.4/config# cat logstash_indexer01.conf  input {         redi ...

  3. Python导入模块的三种形式

    Python导入模块的3中方式: 1.import module_name 这样在程序里就可以通过module_name.metnod_name()的方式访问模块里的函数了 Example: > ...

  4. IRC配置for open source community

    IRC是开源社区进行交流使用的一个很重要的工具. 但是很多公司有限制,不让在办公电脑上, 安装IRC的客户端. ZNC + weechat 是一个可以替代的 选择. irccloude 也是一个可替代 ...

  5. c++中使用c语言函数

    在c++中使用c语言的函数时候,该函数必须在c文件中声明extern "C"才可以使用 如:extern "C" c_function_name(int, in ...

  6. GDI编程小结

    图形设备接口(GDI)是一个可运行程序,它接受Windows应用程序的画图请求(表现为GDI函数调用),并将它们传给对应的设备驱动程序,完毕特定于硬件的输出,象打印机输出和屏幕输出.GDI负责Wind ...

  7. 树形dp-hdu-4714-Tree2cycle

    题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=4714 题目意思: 给一棵树,去掉一条边和增加一条边的花费都为1,求最小的花费,使该树变成一个环. 解 ...

  8. 使用Vitamio打造自己的Android万能播放器(5)——在线播放(播放优酷视频)

    前言 为了保证每周一篇的进度,又由于Vitamio新版本没有发布, 决定推迟本地播放的一些功能(截图.视频时间.尺寸等),跳过直接写在线播放部分的章节.从Vitamio的介绍可以看得出,其支持http ...

  9. JavaScript 的DOM操作

    HTML DOM (文档对象模型) 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). HTML DOM 模型被构造为对象的树. Windows 对象操作 ...

  10. 在sql数据库变量中保存单引号的办法

    set @strWhere=' AccountName like '+'''%'+@Condition+'%''' 先用'+''''+要在单引号里的内容+''''. 就这样就行了. 主要就是用三个单引 ...