用堆栈怎么判断回文字符呀

来源:百度知道 编辑:UC知道 时间:2024/06/06 23:39:48
例如string#string #是分割标志,前后字符相同,要一个完整的c语言程序,跪求呀!

“构造栈;构造队列; 使用栈
和队列进行判断”这个我也不是太懂。
我在网上看到过回文,使用了好多复杂的函数,我都还没学过。

不过我自己写了一个,你看看,原理很简单。
用了.substr函数 for循环 getlin(提取一句话,遇回车终止)
是在C++里写的,不知道在C里能不能用。
<这里在C++的getline(cin,stringname函数有个bug(第一次从键盘getlin输入两个回车才能getlin,但是第二个回车会保存到下一次的getlin)所以循环getline时会出错> 我把循环去掉了。

//*************************************************************
//Palindrome Judgment program 回文判断程序 U6ex4 page235
//cin a sentence,cout its characters in reverse order
//and judgment whether the input line is a palindrome
//*************************************************************
#include<iostream>
#include<string>
using namespace std;

string sen;
string pal;//palindrome回文
int len,i,j;//len=length字符串的长度,i是for循环变量,j判断倒序与正序相同字符的个数
//如果它等于字符串总的长度,即为回文。
void main()
{
cout<<"please input a sentence\n";
getline(cin,sen);

cout<<&qu