大数加法-Tsinsen A1087.高精度加法

来源:互联网 发布:access数据库实验心得 编辑:程序博客网 时间:2024/06/05 03:17
#include <cstdio>#include <iostream>#include <cmath>#include <algorithm>#include <string>#define maxSize 1000using namespace std;/*Tsinsen-A1087.高精度加法*/int main(){    string s;    int a[101] = { 0 }, b[101] = { 0 }, c[102] = { 0 };     int maxLen, alen, blen, i, j = 0;    cin >> s;//处理输入,字符转数字    reverse(s.begin(), s.end());//逆置    alen = s.size();    for (i = 0; i<alen; i++)        a[i] = s[i] - 48;    cin >> s;    reverse(s.begin(), s.end());//逆置    blen = s.size();    for (i = 0; i < blen; i++)        b[i] = s[i] - 48;    maxLen = alen > blen ? alen : blen;//两数较大者的长度    for (i = 0; i < maxLen; i++) {//加法        c[i] = (a[i] + b[i] + j) % 10; //保存每一位运算结果        j = (a[i] + b[i] + j) / 10;   //进位    }    if (j)//最后还有进位        printf("%d", j);    for (i = maxLen - 1; i >= 0; i--)//倒序输出        printf("%d", c[i]);    cout << endl;    return 0;}
0 0
原创粉丝点击