#include <iostream>
#include <string>
#include <stack>
using namespace std;
int main()
{
int len;
string s1,s2;
char temp;
stack<char> st;
cout<<"请输入要判断的字符串: ";
cin>>s1;
for(len=0;len<s1.length();len++)
{
st.push(s1[len]);
}
for(len=0;len<s1.length();len++)
{
s2[len]=st.pop(); //error C2440: '=' : cannot convert from 'void' to 'char'
}
if(!strcmp(s1,s2)) /*error C2664: 'strcmp' : cannot convert parameter 1 from 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' to 'const char *'*/
cout<<"该字符串为一个回文";
return 0;
}
两个错误解决不了啊。请问pop有返回值吗?我把出栈的数据给一个变量却不行。strcmp也是参数不匹配??急求啊
#include <iostream>
#include <string>
#include <stack>
using namespace std;
int main()
{
int len=0;
string s1;
string s2;
stack<char> st;
cout<<"请输入要判断的字符串: ";
cin>>s1;
while(s1[len]!=NULL)
{
st.push(s1[len]);
len++;
}
len=0;
while(st.size()!=0)
{
s2[len]=st.top();
st.pop();
}
if(s1==s2)
cout<<"该字符串为一个回文";
return 0;
}
这是我改了之后的。虽然没报错了。但是还是不能运行额。。。
回文就是正着念和倒着念一样。。。
麻烦大家帮帮忙
慕桂英4014372
温温酱
弑天下
相关分类