//編譯器:GCC 4.2.1 運行環境:Redflag Linux 6.0 Desktop
//如果在VC++下編譯可能要加入string和algorithm兩個頭文件并修改函數返回值類型
#include<iostream>
using namespace std;
int Ifhw(string s,string q,int &i)
{
if(s[i]==q[i]&&i!=-1) Ifhw(s,q,--i);
}
int main()
{
string s;
getline(cin,s); //取s直到遇見回車符
string q=s; //定義一個與s字面量相等的對象q
reverse(q.begin(),q.end()); //將q倒序
int i=q.size()-1; //.size是得到字符串長度的函數
Ifhw(s,q,i);
if(i==-1) cout<<"是回文字符串"<<endl; //如果i值能減到-1說明s與q的每個字符都匹配
else cout<<"不是回文字符串"<<endl;
}