#3WA其余AC求教
查看原帖
#3WA其余AC求教
857437
HeziYicpp11楼主2023/8/23 17:53
#include <iostream>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;
string ss[3];
int main()
{
	string a,b;
    cin >> a >> b;
    ss[1] = a;
    ss[2] = b;
    for (int i = 1;i <= 2;i++)
    {
        int n = ss[i].size();
        string s = ss[i];
        for (int j = 0;j <= n - 1;j++)
        {
            ss[i][j] = s[n - j - 1];
        }
    }
    a = ss[1];
    b = ss[2];
    int n = a.size();
    int m = b.size();
    while (n != m)
    {
        if (min(n,m) == n)
        {
            a += "0";
            n = a.size();
        }
        else
        {
            b += "0";
            m = b.size();
        }
    }
    string sum(n + 1,'0');
    int c = 0,d = 0;
    for (int i = 0;i < n;i++)
    {
        d = (a[i] - '0') + (b[i] - '0');
        c = d / 10;//进位
        d %= 10;
        sum[i + 1] = char(c + '0');
        if (sum[i] == '0')
        {
            sum[i] = char(d + '0');
        }
        else
        {
            sum[i] = char(d + '0') + 1;
        }
        if (!('0' <= sum[i] && sum[i] <= '9'))
        {
            sum[i] -= 10;
            if (i + 1 == n)
            {
                sum += "1";
            }
            else
            {
                sum[i + 1] = 1;
            }
        }
        //cout << sum << endl;
    }
    int len = sum.size();
    string s = sum;
    for (int j = 0;j <= len - 1;j++)
    {
        sum[j] = s[len - j - 1];
    }
    if (sum[0] == '0')
    {
        sum.erase(0,1);
    }
    cout << sum << endl;
    return 0;
}

自测数据:
输入:99 9
代码输出:1008
真答案:108

2023/8/23 17:53
加载中...