773. 字符串插入

有两个不包含空白字符的字符串 str 和 substr,str 的字符个数不超过 10,substr 的字符个数为 3。(字符个数不包括字符串结尾处的 \0。)

将 substr 插入到 str 中 ASCII 码最大的那个字符后面,若有多个最大则只考虑第一个。

输入格式

输入包括若干行,每一行为一组测试数据,格式为

str substr

输出格式

对于每一组测试数据,输出插入之后的字符串。

输入样例:

abcab eee
12343 555

输出样例:

abceeeab
12345553

ac代码1:
 

#include<iostream>
using namespace std;

int findmax(string a)
{
    int maxvac = 0, len = a.length() ;
    char maxc = '0';
    for(int i = 0; i <= len; i++ )
    {
        if(a[i] > maxc){
            maxvac = i;
            maxc = a[i];
        }
    }
    return maxvac;
}

int main()
{
    string a,b;
    while(cin >> a >> b)
    {
        int vac = 0, len  = a.length() ;
        vac = findmax(a);
        for(int i = 0; i <= vac; i++) cout << a[i];
        cout << b;
        for(int i = vac + 1; i < len; i++ ) cout << a[i];
        cout << endl;
    }
    return 0;
}

 

ac代码2:
运用substr函数

#include <iostream>

using namespace std;

string a,b;

int main()
{
    while (cin >> a >> b)
    {
        int vac = 0;
        for (int i = 1; i < a.size(); i ++ )
            if (a[i] > a[vac])
                vac = i;
        cout << a.substr(0, vac + 1) << b << a.substr(vac + 1) << endl;
    }
    return 0;
}

或者是用+将三个字符串链接起来:

#include <iostream>
using namespace std;

string a,b;

int main()
{
    while (cin >> a >> b)
    {
        int vac = 0;
        for (int i = 1; i < a.size(); i ++ )
            if (a[i] > a[vac])
                vac = i;
        cout << a.substr(0, vac + 1) + b + a.substr(vac + 1) << endl;
    }
    return 0;
}

 

 

上一篇:【12c OCP】CUUG OCP认证071考试原题解析(36)


下一篇:【在VUE中使用animate.css预设动画】