今天踩的坑:
1、sacnf比cin速度快
2、字符串截取
3、单词逆序题目错误代码存档
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
int main() {
string s;
while (getline(cin, s)) {
int count = 0;
string s1;
for (int i = 0, j = 0; i < s.size(); ++i) {
if (s[i] != ' ' && isalpha(s[i])) {
count++;
}
if (s[i] == ' ' || i == s.size() - 1) {
s1 = s.substr(j, count);
reverse(s1.begin(), s1.end());
cout << s1;
j = i + 1;
count = 0;
}
if (!isalpha(s[i])) {
cout << s[i];
continue;
}
}
cout << endl;
}
}
4、单词改错错误代码存档
#include<iostream>
#include<string>
using namespace std;
int fun(string cs, string ws) {
if (cs == ws) {
cout << "OK!";
}
else {
if (cs.size() == ws.size()) {
for (int i = 0; i < ws.size(); ++i) {
if (cs[i] != ws[i]) {
cout << i + 1 << " change " << cs[i];
return 0;
}
}
}
else if (cs.size() > ws.size()) {
for (int i = 0; i < ws.size(); ++i) {
if (cs[i] != ws[i]) {
cout << i + 1 << " insert " << cs[i];
return 0;
}
}
}
else {
for (int i = 0; i < cs.size(); ++i) {
if (cs[i] != ws[i]) {
cout << i << " delete " << ws[i];
return 0;
}
}
cout << ws.size() - 1 << " delete " << ws[ws.size() - 1];
}
}
return 0;
}
int main() {
string str;
while (cin >> str && str != "END") {
int n;
cin >> n;
for (int i = 1; i <= n; ++i) {
string s;
cin >> s;
cout << i << " ";
fun(str, s);
cout << endl;
}
}
}