C++高精度加法
C++高精度加法主要分为以下几点:
1:输入这两个数;
2:反向处理这两组数;
3:正式开始计算;
4:反向输出。
第一部分:
输入这两个数;
#include<bits/stdc++.h>
using namespace std;
int main()
{
char str[10101]={},astr[10101]={};
cin>>str>>astr;
int in[10101]={},nt[10101]={};
int len=strlen(str);
int l1=strlen(astr);
return 0;
}
这里用的是char,大家也可以试一下string
第二部分:
反向处理这两组数;
这里最主要的是in[len-i-1],这里错了很难找出来。
#include<bits/stdc++.h>
using namespace std;
int main()
{
char str[10101]={},astr[10101]={};
cin>>str>>astr;
int in[10101]={},nt[10101]={};
int len=strlen(str);
int l1=strlen(astr);
for(int i=0;i<len;i++)
{
in[len-i-1]=str[i]-'0';
}
for(int i=0;i<l1;i++)
{
nt[l1-i-1]=astr[i]-'0';
}
return 0;
}
第三部分:
正式开始计算;
我们首先要把len和l1取最大值,接下来才是进行进位,加法。