判断对称数、回文字符串
来源:互联网 发布:开淘宝店铺货源怎么找 编辑:程序博客网 时间:2024/05/21 17:22
一、判断一个数是不是对称数
思路:根据参数构造一个新的数(实现从低位到高位逆转),这个数是将原数的高低位对称交换,例如:123---->321, 12321----->12321。使用while循环实现
/*data是要实现的函数接收到的参数*/ int temp = data;int new_data = 0;//作为新的data与原来的data比较while(temp)//通过循环一次取出data的低位至高位,并生成new_data{new_data = new_data * 10 + (temp % 10);temp = temp / 10;}
然后实现函数的其他部分:
/**判断一个数是不是对称数(回文数),是的话返回1,不是的话返回0*/#include <stdio.h>int ispalindromenum(int data){int temp = data;int new_data = 0;//作为新的data与原来的data比较while(temp)//通过循环一次取出data的低位至高位,并生成new_data{new_data = new_data * 10 + (temp % 10);temp = temp / 10;}if(data == new_data){return 1;}return 0;}void main(){int n1 = 123321;int n2 = 67876;printf("%d is :\t%d\n", n1, ispalindromenum(n1));printf("%d is :\t%d\n", n2, ispalindromenum(n2));getchar();}
二、判断字符串是不是回文(对称)
采用逐个字符比较的方法。当然,上面的对于对称数的判断也可以先将该数转化成字符串,然后采用下面的方法比较,不过好像有点绕。。。
//判断是不是回文,是返回1,不是返回0,出错返回-1#include <stdio.h>#include <string.h>int palindrome(char *p){while(p != NULL){int length = 0;//用于记录字符长度int i = 0;length = strlen(p);for( ; i < ((length + 1) / 2); i++){if(*(p + i) != *(p + length -1 - i)){//出现不相等的字符return 0;}}return 1; //遍历字符串的一半后没有发现不同的字符,说明字符串是回文}return -1;//字符串指针为空}
0 0
- 判断对称数、回文字符串
- 判断是否为对称的字符串(回文数)
- 判断回文数(对称数)
- 回文数回文字符串判断
- 回文数与回文字符串的判断
- 判断输入的字符串是否为回文(对称)字符串
- 判断一个字符串是不是对称(是不是回文字符串)
- 随机输入一个数,判断它是不是对称数(回文数)(如3,121,12321,45254)。不能用字符串库函数
- 随机输入一个数,判断它是不是对称数(回文数)(如3,121,12321,45254)。不能用字符串库函数
- 判断一个字符串是不是回文数
- 【C语言】判断回文数及字符串
- 判断一个数是否为回文字符串
- 判断一个字符串是不是回文数
- 算法设计学习笔记:回文数与回文字符串判断
- 【C语言】回文数与回文字符串的判断。
- 判断一个数或者一串字符串是不是回文数
- 判断一个字符串是否为回文数字符串
- 对称数判断
- 网站接入流程
- 如何"杀死"一个窗口--WindowKiller
- Linux命令全称
- Android开发之根据Service的生命周期特点后台连接网络下载图片(源代码分享)
- 微信二维码扫描无法下载APK文件
- 判断对称数、回文字符串
- 数据结构学习笔记
- SharePoint品牌化和自定义--第三章节--收集品牌化需求
- 五大云开发平台推荐 .
- Web开发中的用户角色权限设计总结
- Android四大组件之Service
- c#索引器
- hdu-2567-寻梦
- STL中优先队列