判断字符串是否回文
2013-06-03 13:37
253 查看
原题:试设计一个算法测试一个串S的值是否回文,(即字符串从左向右读出的内容和从右向左读出的内容一致),字符串的存储结构要求采用堆分配存储结构。
#include<iostream> using namespace std; typedef enum{TRUE,FALSE}tag; typedef struct {//串的堆分配存储表示 char *base;//若是非空串,则按串长分配存储区,否则str为NULL int length;//串的长度 }HString; int IsInvert(HString str);//函数原型声明 int main() { HString str; char ch[100]; cout<<"请输入字符串!"<<endl; cin.getline(ch,100);//接收输入的字符串 for(int i=0;'\0' != ch[i];i++);//计算输入的字符串的长度 str.length=i;//为str的长度域赋值 str.base=(char *)malloc((str.length)*sizeof(char));//为str的base分配存储空间 strcpy(str.base,ch);//将ch数组中的字符串复制到str.base中 cout<<str.base<<endl; IsInvert(str);//测试字符串是否回文 return 1; } int IsInvert(HString str) {//测试字符串是否回文 int i,n=str.length; for(i=0;i<n/2;i++) if(str.base[i] != str.base[n-i-1]) { cout<<"该字符串不是回文!"<<endl;return FALSE; } cout<<"该字符串是回文!"<<endl; return TRUE; }
相关文章推荐
- 判断一个数是否为回文数,字符串是否为回文字符串
- C++ 用出入栈判断字符串是否为回文
- 一句SQL,判断char列的值是否组成回文字符串
- 第十五周oj训练——判断字符串是否为回文(2802)
- 编写程序,判断输入的字符串是否回文
- 判断一个字符串是否回文
- 判断是否为回文字符串,逆序输出字符串
- c# 判断输入字符串是否回文
- 判断一个字符串是否为回文的非递归算法
- 数据结构常见问题(二)利用栈和队列判断字符串是否是回文
- 判断字符串是否为回文
- 【C语言】判断字符串是否是回文
- 判断一字符串是否为回文,是返回1,不是返回0,出错返回-1
- 算法基础——判断一个字符串至多添加一个字符之后是否回文
- StringBuffer --reverse() JAVA判断字符串是否回文
- 第十五周练习—— 判断字符串是否为回文
- 妙趣横生算法 4:判断字符串是否回文
- java采用3种方式判断用户输入的字符串是否为回文
- Java判断字符串是否是回文
- 判断字符串是否是回文的代码实现