问题标题: 酷町堂:2237 字符串特殊处理 这题80分

0
1
已解决
王子健
王子健
初级天翼
初级天翼
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
using namespace std;
int main()
{
    int l,k;
    string a,b;
    getline(cin,a);
    getline(cin,b); 
    l=(a>b);
    if(l>0){
    b=a;
    a=a+b;
    }
    else if(l==0){
    b=b;
    a=b+a;
    }
    k=a.length();
    cout<<a<<endl<<b;
    cout<<endl;
    cout<<k;
    return 0;
 }

为啥只得80分,请大佬指教或修改。(有钱大老麻烦看一下测试点)

王子健在2018-12-27 20:34:41追加了内容
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
using namespace std;
int main()
{
    int l,k;
    string a,b;
    getline(cin,a);
    getline(cin,b); 
    l=(a>b);
    if(l>0){
    b=a;
    a=a+a;
    }
    else if(l==0){
    b=b;
    a=b+a;
}
    k=a.length();
    cout<<a<<endl<<b;
    cout<<endl;
    cout<<k;
    return 0;
 }

还是错的


0
已采纳
宫西诚
宫西诚
修练者
修练者

错误就像张睿杰所说的那样

你可以多定义几个字符串

string a,b,c,d;
    int l;
    getline(cin,a);
    getline(cin,b);
    if(a>b)
    {
        c=a+b;
        d=a;
    }
    else
    {
        c=b+a;
        d=b;
    }
    l=c.size();
    cout<<c<<endl<<d<<endl<<l;

 

0
张睿杰
张睿杰
初级天翼
初级天翼
if(l>0){
b=a;
a=a+b;
}

这里错了,b的值是a了

下面的就等于a=a+a;

0
我要回答