文章

38

粉丝

11

获赞

2

访问

17.4k

头像
A+B问题 题解:
P1000 计算机考研机试入门题
发布于2024年9月2日 10:51
阅读数 714

#include
using namespace std;
string Add(string a,string b){
    int flag = 0;

    if(a[0] == '-' && b[0] == '-'){
        a = a.substr(1,a.length() - 1);
        b = b.substr(1,b.length() - 1);
        flag = 1;
    }

    if(a.length() < b.length()) a.swap(b);//a一直为数较长的字符串
    string result(a.length(),0);//设置result为长度为a.length的0字符串
    b.insert(0,a.length() - b.length(),'0');
    //s1.insert(pos,n,c)在字符串s1的第pos个位置前 插入n个字符c
    int carry = 0;//进位
    for(int i = a.length() - 1;i >= 0;i--){
        int sum = (a[i] - 48) + (b[i] - 48) + carry;
        carry = sum / 10;
        result[i] = sum % 10 + 48;
    }
    //如果最后出来进位仍不为0,说明两个数相加进位了
    if (carry != 0) result.insert(result.begin(),c...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发