我正在尝试用c ++编写一个程序来检查单词是否是回文。
我被困住了。
#include <iostream>
using namespace std;
int main()
{
string word;
cin >> word;
int a = word.length()-1;
if (a + 1 > 2) {
for (int i = 0; i < (a + 1); i++) { // i<word.length-1+1 = i<word.length
if (!(word[i] == word[a - i])) { //if it's not palindrome
cout << "No";
return 0;
}
}
}
else {
cout << "Yes";
}
return 0;
}
这是问题所在。
-当我输入回文率f.e.(level,kayak)时,结果什么也没给我,无论是不是还是不是, -当我输入一个以上单词的回文词时,它不给我。
还有一些我看到的问题,也许还有更多。
我知道这不是最佳的优化代码,但是我才刚刚开始。