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最后相加。比較和原来的数是否相等。就能推断该数书否是回文数字了。
C实例--推断一个字符串是否是回文数的更多相关文章
- leetcode9_C++判断一个整数是否是回文数
判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 输出: true 示例 2: 输入: - 输出: false 解释: 从左向右读, 为 - ...
- 判断一个整数是否是回文数C++实现 leetcode系列(九)
判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向 ...
- Java判断一个字符串是否是回文
package com.spring.test; /** * 判断字符串是否为回文 * * @author liuwenlong * @create 2020-08-31 11:33:04 */ @S ...
- js判断一个字符串是否是回文字符串
回文字符串:即字符串从前往后读和从后往前读字符顺序是一致的. 如:字符串abccba,从前往后读是a-b-c-c-b-a:从后往前读也是a-b-c-c-b-a 方法一 function palindR ...
- 009 Palindrome Number 判断一个正整数是否是回文数
详见:https://leetcode.com/problems/palindrome-number/description/ 实现语言:Java 方法一: class Solution { publ ...
- LeetCode 9、判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
class Solution: def isPalindrome(self, x: int) -> bool: a = x if a<0: return False else: num = ...
- C++刷题——2802: 推断字符串是否为回文
Description 编敲代码,推断输入的一个字符串是否为回文. 若是则输出"Yes".否则输出"No". 所谓回文是指順读和倒读都是一样的字符串. Inpu ...
- YTUOJ-推断字符串是否为回文
题目描写叙述 编敲代码,推断输入的一个字符串是否为回文.若是则输出"Yes",否则输出"No".所谓回文是指順读和倒读都是一样的字符串. 输入 输出 例子输入 ...
- 【Python 实例】回文数判断
[Python 实例]回文数判断 题目: 源代码: 运行结果: 题目: 判断输入的字符串是否为回文数 源代码: """ string_reverse_output():反 ...
随机推荐
- intial-scale=1的含义
meta name="viewport" content="width=device-width,initial-scale=1.0" 解释 <meta ...
- [方法]本来好的中文在winEdt中打开变成乱码
场景:本来在winEdt中使用中文的tex文件,使用xelatex可以编译成pdf,今天打开该tex文件,所有中文变得不可读,统统乱码. 解决方法:在保存tex文件时使用的是utf-8保存的,所以在打 ...
- 关于异常Microsoft.CSharp.RuntimeBinder.RuntimeBinderException
原文:关于异常Microsoft.CSharp.RuntimeBinder.RuntimeBinderException 关于Microsoft.CSharp.RuntimeBinder.Runtim ...
- web中使用扫描枪
扫描枪实际上就是一输入设备,只不过它每次在输入的内容后面添加一个回车.因此在web中可以使用js监听回车事件.处理代码如下: jQuery(function() { jQuery(doc ...
- Binary String Matching(kmp+str)
Binary String Matching 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 Given two strings A and B, whose alp ...
- mac itunes ios 7 升级 出现 this device isn't eligible for the requested build
今天在对我的iPod 进行iOS7 升级的时候(在mac iTunes 上进行的),一直弹出框提示 解决办法就是 1. 打开HOSTS (Mac 下路径为:/etc/hosts, 至于怎么打开host ...
- 设置IE兼容模式
文件兼容性用于定义让IE如何编译你的网页.此文件解释文件兼容性,如何指定你网站的文件兼容性模式以及如何判断一个网页该使用的文件模式. 前言 为了帮助确保你的网页在所有未来的IE版本都有一致的外观,IE ...
- 海量数据解决思路之BitMap
一.概述 本文将讲述Bit-Map算法的相关原理,Bit-Map算法的一些利用场景,例如BitMap解决海量数据寻找重复.判断个别元素是否在海量数据当中等问题.最后说说BitMap的特点已经在各个场景 ...
- XCode常用快捷键(转)
刚开始用Xcode是不是发现以前熟悉的开发环境的快捷键都不能用了?怎么快捷运行,停止,编辑等等.都不一样了.快速的掌握这些快捷键,能提供开发的效率. 其实快捷键在Xcode的工具栏里都标注有,只是有的 ...
- easyui的样式easyui-textbox的一个bug
easyui-testbox这个样式很恶心,用了这个就不能用传统的JQ来取值了,最近在使用上又发现了一个问题,就是赋值为0时,在输入框上会不显示,坑. <input class="ea ...