《C和指针》——第九章 判断回文
来源:互联网 发布:医院ap网络 编辑:程序博客网 时间:2024/06/05 00:24
《C和指针》第九章
题目:编写函数
int palindrome( char *string );
如果参数字符串是个回文,函数就返回真,否则就返回假。回文就是指一个字符串如果从左向右读和从右向左读是一样的。函数应该忽略所有的非字母字符,而且在进行字符比较时不用区分大小写。
举例:Madam, I'm Adam 就是一个回文。
下面是我写的:
/************************************************************************************************* Copyright(C):* Filename :* Author :* Version :* Date :* Description :*************************************************************************************************/#include <ctype.h>#include <string.h>//----------------------------------------------------------// FindAlpha()////char *FindAlpha(register char *string, register char *end){while( string<=end && isalpha(*string)==0 ){string++;}if ( string > end ){return NULL;}else{return string;}}//----------------------------------------------------------// FindAlpha()////char *FindAlphaR(register char *begin, register char *end){while( end>=begin && isalpha(*end)==0 ){end--;}if ( end < begin ){return NULL;}else{return end;}}//----------------------------------------------------------// Palindrome()////int Palindrome(char *string){char *phead;char *ptail;char *tmph;char *tmpt;if ( string == NULL ){return 0;}phead = string;ptail = phead+strlen(string)-1;if ( (phead=FindAlpha(phead, ptail)) == NULL )return 0;if ( (ptail=FindAlphaR(phead,ptail)) == NULL ) return 0;tmph = phead;tmpt = ptail;while( phead < ptail ){if ( tolower(*phead) != tolower(*ptail) ){break;}phead = FindAlpha(tmph+1,tmpt-1);ptail = FindAlphaR(tmph+1,tmpt-1);tmph = phead;tmpt = ptail;if ( phead==NULL || ptail==NULL ){break;}}return phead == ptail;}
- 《C和指针》——第九章 判断回文
- C和指针--第九章_问题
- C和指针读书笔记(第九章)
- C语言-数组指针判断回文数
- C语言——回文串判断
- 第九章 字符串、字符和字节[C和指针]
- 《C和指针》第九章 字符串、字符和字节
- C和指针 第九章 字符串和字节
- C和指针第九章课后习题编程练习
- C和指针第九章的四个小代码
- C和指针之字符串编程练习10(判断字符串是否是回文数)
- C语言实现回文判断(利用指针的方法)
- 是否回文的判断(c语言,初级接触指针)
- 【C】【笔记】《C和指针》 第六章 指针 第七章 函数 第八章 数组 第九章 字符串、字符和字节
- c 判断回文字符
- C判断回文数
- C 语言,判断回文
- C 判断回文
- 数组、集合比较学习。
- “ant debug install” 出错: sdk.dir is missing. Make sure....
- 简单二叉树的实现
- 字符串循环移位
- uva 10006 Carmichael Numbers(快速幂)
- 《C和指针》——第九章 判断回文
- 初识Objecive-C 之 内存管理
- [php]Collection和持久化工厂
- paip. erlang语法C++语法对比attilax总结
- 所见即所得:七大无需编程的DIY开发工具
- 装饰和继承的区别
- 数组与指针的区别
- Wireshark抓包工具使用教程以及常用抓包规则
- NSCoding协议