C和指针之字符串编程练习10(判断字符串是否是回文数)
来源:互联网 发布:孙骁骁家庭知乎 编辑:程序博客网 时间:2024/06/05 17:10
1、问题
//如果参数字符串是个回文,函数就返回真,否则返回假。回文就是指一个字符串从左向右和从右向左读是一样的。函数应该忽略所有的非字母字符,而且在进行字符比较时不用区分大小写。
2、代码实现
#include <stdio.h>#include <ctype.h>//如果参数字符串是个回文,函数就返回真,否则返回假。回文就是指一个字符串从左向右和从右向左读是一样的。函数应该忽略所有的非字母字符,而且在进行字符比较时不用区分大小写。int palindrome(char *string){if (string == NULL)return 0;char *start = string;char *end = string;//把end指向'\0',然后退以下,这里不要写成while (*end++ != '\0');//不然需要--end两次while (*end != '\0'){++end;}//尾巴指针退到字符串末尾--end;while (start < end){//这里不能用if,if只能移动一个非字符的下标,如果非字符是//连续的话,这里用if就会有问题while (!isalpha(*start))++start;while (!isalpha(*end))--end;//只要发现不相等,就返回0if (*start != *end)return 0;++start;--end;} return 1;}int main(){ char *string_one = "w3e1rq778e89qr1e3w";char *string_two = "chenyu";char *string_three = "chenyuuynehc";char *string_four = "chen2323yu32323uy333nehc222222";printf("palindrome(%s) is %d\n", string_one, palindrome(string_one));printf("palindrome(%s) is %d\n", string_two, palindrome(string_two));printf("palindrome(%s) is %d\n", string_three, palindrome(string_three));printf("palindrome(%s) is %d\n", string_four, palindrome(string_four));return 0; }
3、运行结果
chenyu@chenyu:~/Desktop/linux/dabian/string$ vim palindrome.c chenyu@chenyu:~/Desktop/linux/dabian/string$ gcc -g palindrome.c -o palindromechenyu@chenyu:~/Desktop/linux/dabian/string$ ./palindrome palindrome(w3e1rq778e89qr1e3w) is 1palindrome(chenyu) is 0palindrome(chenyuuynehc) is 1palindrome(chen2323yu32323uy333nehc222222) is 1
阅读全文
0 0
- C和指针之字符串编程练习10(判断字符串是否是回文数)
- C实例--判断一个字符串是否是回文数
- 【C语言】判断字符串是否是回文
- 判断字符串是否是回文
- 判断字符串是否是回文
- 判断字符串是否是回文
- 编程判断字符串是否为回文 判断一个字符串是否是回文,例如单词‘level’
- C++ 判断是否是子字符串和回文字符串
- 判断s所指的字符串是否是回文数
- 【C语言】判断一个数是否为回文字符串
- C和指针之字符串编程练习1
- C和指针之字符串编程练习6
- C和指针之字符串编程练习3
- 【数据结构】使用栈和队列判断字符串是否是回文
- 判断给定的字符串是否是回文数(用栈实现)
- 【LeetCode008-009算法/编程练习C++】string转int(atoi),判断数字是否是回文
- 判断一个数是否为回文字符串
- 队列-----判断一个字符串是否是回文
- python学习_2
- 用quartus II创建NIOS II
- 安卓学习笔记(13)-在画布(canvas类)上以图片的中心设置图片位置
- YARN
- 物联网技术科普~
- C和指针之字符串编程练习10(判断字符串是否是回文数)
- 爱因斯坦提出的台阶问题
- kali2017安装中文输入法
- 什么是高并发 ,详细讲解
- 浅谈指针数组、数组指针及函数指针
- HTTP状态码
- 树的遍历
- 锚点定位
- 阿里云ssl tomcat nginx https