问题标题: 酷町堂:2820

0
0
已解决
王俊杰
王俊杰
高级光能
高级光能

2820   字符串比较
经验值:400
题目描述 Description
输入两行字符串,比较大小,如果第一行的字符串更大,那么将第一个字符串连接到第二个字符串后面,输出连接后的结果;否则的话分别逆序输出两个字符串


 
输入描述 Input Description
第一行:第一个字符串

第二行:第二个字符串


 
输出描述 Output Description
按题干要求进行输出


 
样例输入 Sample Input
hello miao
kdm is very cute
样例输出 Sample Output
oaim olleh
etuc yrev si mdk

不输出错误代码: 
#include<iostream>
#include<string>
using namespace std;
int main(){
    string a,b;
    getline(cin,a);
    getline(cin,b);
    for(int i=0;i<=a.size()-1;i++){
        if(a>b){
            cout<<a+b;
        }
    }
    for(int i=a.size()-1;i>=0;i--){
        if(b<=a){
            cout<<a[i]<<endl<<b[i];
        }
    }
    return 0;
}
why 


0
已采纳
李瑞曦
李瑞曦
高级天翼
高级天翼

emmm...你的代码有很多错误哦:

1.将第一个字符串连接到第二个字符串后面    应该是b+a

2.不需要第一个循环

3.你在逆序输出这两个字符串的时候要用两个循环,因为他们的长度不一样,而且还会交叉输出

核心:

if(a>b){
        cout<<b+a;
}
else {
    for(int i=a.size()-1;i>=0;i--){
        cout<<a[i];
    }
    cout<<endl;
    for(int i=b.size()-1;i>=0;i--){
        cout<<b[i];
    }
}

 

我要回答