试图刷新我的编码。回文练习给我一个问题。用谷歌搜索我的错误但无法修复。
Trying to refresh my coding. Palindrome excercise giving me an issue. Googled my error but cant fix it.
我正在做一个 C++ 练习,老实说,关于字符串的知识有点模糊,这可能是为什么它不起作用。我在句法上忘记了很多,但总体上我对 OOP 有很好的基础理解。只是想重新回到事情的轨道上。我也知道我对 std:: 的一致性很奇怪,然后在 cin haha 之类的地方省略它。就是闹着玩的。谢谢你的帮助。
#include <iostream>
#include <string>
std::string reverse(std::string s);
using namespace std;
int main(){
std::string s;
cin>>s;
std::string n = reverse(s);
if(n == s){
std::cout<<"plindrome"endl;
}
}
string reverse(string s){
int n = s.length();
for(int i = 0; i<n/2; i++){
swap(s[i], s[n-1-1])
}
return s;
}
swap(s[i], s[n-1-1])
仔细看第二个参数
#include <iostream>
#include <string>
std::string reverse(std::string s);
using namespace std;
string reverse(string s) {
int n = s.length();
for (int i = 0; i<n / 2; i++) {
swap(s[i], s[n - i - 1]);
}
return s;
}
int main() {
std::string s;
cin >> s;
std::string n = reverse(s);
if (n == s) {
std::cout << "plindrome" << endl;
}
}
刚刚修复了交换行,因此它应该是 s[i] 和 s[n - i - 1],打印时出现语法错误
我正在做一个 C++ 练习,老实说,关于字符串的知识有点模糊,这可能是为什么它不起作用。我在句法上忘记了很多,但总体上我对 OOP 有很好的基础理解。只是想重新回到事情的轨道上。我也知道我对 std:: 的一致性很奇怪,然后在 cin haha 之类的地方省略它。就是闹着玩的。谢谢你的帮助。
#include <iostream>
#include <string>
std::string reverse(std::string s);
using namespace std;
int main(){
std::string s;
cin>>s;
std::string n = reverse(s);
if(n == s){
std::cout<<"plindrome"endl;
}
}
string reverse(string s){
int n = s.length();
for(int i = 0; i<n/2; i++){
swap(s[i], s[n-1-1])
}
return s;
}
swap(s[i], s[n-1-1])
仔细看第二个参数
#include <iostream>
#include <string>
std::string reverse(std::string s);
using namespace std;
string reverse(string s) {
int n = s.length();
for (int i = 0; i<n / 2; i++) {
swap(s[i], s[n - i - 1]);
}
return s;
}
int main() {
std::string s;
cin >> s;
std::string n = reverse(s);
if (n == s) {
std::cout << "plindrome" << endl;
}
}
刚刚修复了交换行,因此它应该是 s[i] 和 s[n - i - 1],打印时出现语法错误