问题标题: 酷町堂:2843 自定义函数实现字符串拷贝

0
0
已解决
李素妍
李素妍
新手天翼
新手天翼

题目描述 Description

输入两个字符串,长度不超过100,如果第二个字符串的长度大于第一个字符串的长度的话将字符串2拷贝到字符串1中,否则将字符串1拷贝到字符串2中,再讲字符串2的前n个字符串连接到字符串1后面,最后输出字符串1的结果,请你自定义字符串拷贝函数来实现此功能

输入描述 Input Description

第一行:一个数字n
第二行:第一个字符串
第三行:第二个字符串,输入保证两个字符串的长度都>=n

输出描述 Output Description

输出字符串1

样例输入 Sample Input

3 TVxQacTjfjvaO OSqbVgKOMTdhF

样例输出 Sample Output

TVxQacTjfjvaOTVx

怎么做


0
已采纳
吴君昊
吴君昊
新手光能
新手光能

 

string kb(string a,string b,int n){
    if(b.size()>a.size()){
        b+=b.substr(0,n);
        return b;
    }
    else{
        a+=a.substr(0,n);
        return a;
    }
}

核心,应该是对的

吴君昊在2020-08-20 10:34:50追加了内容

不保证正确,现场写的见谅

0
吴君昊
吴君昊
新手光能
新手光能

首先定义一个n,两个字符串a和b然后输入两个字符串,在这时再定义两个int型变量,存入a和b的长度。然后if比较大小;提示如下:

int n,x,y;//x为第一个串,y为第二个串
cin>>n;
string a,b,c,d;
cin>>a>>b;
c=a;//用于判断时截取或添加时用
d=b;
x=a.size();
y=b.size();
if(y>x){
    删除第1串x,将第二串加入;//erase删除函数和insert添加函数;
}
else{
    删除第2串y,将第1串加入;//erase删除函数和insert添加函数;
}
最后输出

 

定义函数时用以上思路,但代码我就不给你了

0
吴君昊
吴君昊
新手光能
新手光能

#include<iostream>
#include<string>
using namespace std;
int main(){
    int n;
    cin>>n;
    string a,b;
    cin>>a>>b;
    if(b.size()>a.size()){
        cout<<b<<b.substr(0,n);
    }
    else{
        cout<<a<<a.substr(0,n);
    }
    return 0;
}

0
吴君昊
吴君昊
新手光能
新手光能

@陈曦 ,没事,她已经做出来了我才发的

我要回答