AcWing 773. 字符串插入(语法基础班---简单)
原题链接
中等
作者:
初静
,
2021-02-16 21:27:12
,
所有人可见
,
阅读 360
修改后的代码
#include <iostream>
#include <string>
using namespace std;
int main(){
string str1, str2;
while ( cin >> str1 >> str2) {
int k = 0;
string str3;
char max = str1[0];;
for (int i = 1; i < str1.size(); i++) {
if (max < str1[i]) {
k = i; // 此处应该是 k = i 不是 k++!!!!
max = str1[i]; // 这里不需要求出最大值,只用求出最大值下标位置即可!!
}
}
// for (int i = 0; i <= k; i++) str3 = str3 + str1[i];
str3 += str1.substr(0, k + 1);
str3 = str3 + str2;
// for (int i = k + 1; i < str1.size(); i++) str3 = str3 + str1[i];
str3 += str1.substr(k + 1);
cout << str3 << endl;
}
return 0;
}
别人的正确代码
#include<bits/stdc++.h>
using namespace std;
int main() {
string str, sub;
while(cin >> str >> sub) {
string res;
int max = 0;
for(int i = 1; i < str.size(); ++i) {
if(str[i] > str[max]) {
max = i;
}
}
res += str.substr(0, max + 1);
res += sub;
res += str.substr(max + 1);
cout << res << endl;
}
}
作者:machine_gun_lin
链接:https://www.acwing.com/solution/content/15854/
来源:AcWing
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。