问题标题: 酷町堂:2798 连接字符串1

0
0
已解决
张易晨
张易晨
新手光能
新手光能

题目描述 Description

输入两个整数,数字的位数不超过500位,如果这两个整数的和的个位数字是0-4之间的数字,那么将第一个整数和第二个整数都逆向输出,否则输出第一个整数连接在第二个整数后的数字。

输入描述 Input Description

第一行:第一个整数
第二行:第二个整数,两个整数的位数都不超过500位

输出描述 Output Description

根据题目要求输出相应的数字

样例输入 Sample Input

6544352 1236904332

样例输出 Sample Output

2534456 2334096321

数据范围及提示 Data Size & Hint

数字开头不能是0

———————————————————————————————————————————————————————

#include<iostream>  /*3.1415926535897932384626433832795*/
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<stack>
#include<string>
#include<iomanip>
#include<cstring>
#include<cstdlib>
#include<vector>
#include<queue>
#include<sstream>
#include<map>
#include<list>
using namespace std;
string a,b;
int main()
{
    cin>>a>>b;
    int x,y;
    x=a[a.size()-1]-'0';
    y=b[b.size()-1]-'0';
    if((x+y)%10>=0&&(x+y)%10<=4)
    {
        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];
        }
    }
    else
    {
        b=b+a;
        cout<<b;
    }
    return 0; 
}

70分,有没有人知道为什么错了


0
已采纳
张新杨
张新杨
高级守护
高级守护

减去开头的0,用while(s[0]=='0'){

    ......

}

0
王子耀
王子耀
缔造者
缔造者

注意,如果这个数开头有0,那么你的输出就会输出0!

可以增加一个while(如果开头有0){

                                    减去开头的字符;

                            }

我要回答