题目略,高精度加减乘除运算是基本算法,十分重要,直接上代码,重要点已标
第一行 高精度数a 高精度数b
第二行s
#include <iostream>
#include <string>
int sum(int a, int b)
{
if( a > b)
return a;
else return b;
}
using namespace std;
int main()
{
string str1,str2;
cin >> str1>>str2;
int a[100], b[100];
int L1 = str1.length();
int L2 = str2.length();
for (int i = 0; i < L1;i++)
a[i] = str1[L1 - i - 1]-'0';
for (int i = 0; i < L2; i++)
b[i] = str2[L2 - i - 1]-'0';//转置数组,小位在前
int result[200];
int len =max(L1,L2);//求出要总共加的次数,也就是较长的那个数的位数(加一是因为考虑到最高位进位)
if (L1 > L2)
for (int i = L2; i < L1; i++)
b[i] = 0;
else if (L1 < L2)
for (int i = L1; i < L2; i++)
a[i] = 0;//debug一百年终于发现忘了要把较小数组的其余部分置零,否则是随机数这件事qwq
int in = 0;//初始化参数
for (int i = 0; i <len; i++)
{
result[i]