侧边栏
首页代码

利用字符串让很大的数字a+b

#include<bits/stdc++.h>
using namespace std;
char a[1000], b[1000];
int ai[1000] = {0}, bi[1000] = {0}, ans[1000] = {0};
int main()
{
    cin >> a;
    cin >> b;
    if(strlen(a) < strlen(b))
        swap(a, b);
    for(int i = 0;i < strlen(a);i++)
    {
        ai[strlen(a) - i - 1] = a[i] - '0';
    }
    for(int i = 0;i < strlen(b);i++)
    {
        bi[strlen(b) - i - 1] = b[i] - '0';
    }
    int f = 0, x = 0;
    while(f < strlen(a))
    {
        int sum = ai[f] + bi[f];
        ans[f] = sum + x;
        x = ans[f] / 10;
        ans[f] = ans[f] % 10;
        f++;
    }
    if(x != 0)
        printf("%d",x);
    for(int i = strlen(a) - 1;i >= 0;i--)
        printf("%d",ans[i]);
    printf("\n");
    return 0;
}
posted @ 2020-12-07 20:31  AlexStraightUp  阅读(60)  评论(0)    收藏  举报
页脚HTML代码