王思聪是不是脱发:高分问题:)

来源:百度文库 编辑:高校问答 时间:2024/04/29 07:25:59
用C++语言编写一个算法来判断一个字符窜是否是”回文”.(需要原代码!越简单越好) ("回文"是指一个字符窜从前读与从后读都一样)
要求:A仅能使用若干栈的ADT函数以及若干 int,char类型变量编写!(从”栈”出发)
B严格用C++语言编写,即使用类的概念!
不用”结构体”等其他语言的概念!

#include <stack>
#include <iostream>

using namespace std;

typedef stack<char> stack_t;

class THuiwen
{
private:
stack_t s;
int i;
char c;
public:
bool is_huiwen(const char *str)
{
for (i = 0; str[i]; i++)
s.push(str[i]);
for (i = 0; str[i]; i++)
{
c = s.top();
s.pop();
if (c != str[i])
return false;
}
return true;
}
};

int main()
{
THuiwen huiwen;
char buf[256];
cin.get(buf, 256);
cout << huiwen.is_huiwen(buf) << endl;
return 0;
}

唉,为什么一定要用类呢,只用int和char就行了。
int palind(char *s,int len)
{
int cur,end;
if (len<=0) return -1;
cur=0;
end=len-1;
while(cur<len)
{ if (s[cur++]!=s[end--]) return 0;}
return 1;
} //返回1时为回文,0时为非回文,返回-1为参数错误。

ぁあぃいぅううええぉぉぁあぃいぅううええぉぉぁあぃいぅううええぉぉぁあぃいぅううええぉぉぁあぃいぅううええぉぉぁあぃいぅううええぉぉぁあぃいぅううええぉぉぁあぃいぅううええぉぉぁあぃいぅううええぉぉぁあぃいぅううええぉぉぁあぃいぅううええぉぉぁあぃいぅううええぉぉぁあぃいぅううええぉぉぁあぃいぅううええぉぉぁあぃいぅううええぉぉぁあぃいぅううええぉぉぁあぃいぅううええぉぉぁあぃいぅううええぉぉ