总体思路:模拟竖式计算
首先,我们无法确定输入数字的大小,因此,我们使用string
string a,b;
cin>>a;cin>>b;
这不是废话吗
接着再定义两个整型变量用于计算输入数字的长度,之后再定义两个数组用于表示加数。
const int n=a.length(),m=b.length();//注意这里不能用sizeof()
为了防止加数数组中出现杂值,需要在main外进行初始化
int i[500];int j[500];//加数
以及答案
int ans[501];
同样的,也要初始化,注意这里要多一位,因为答案可能会多一位。
废话终于讲完了
接下来,我们要将输入的两个字符行变量转化成整型变量,存储在加数数组中。
for(int s=0,l=n-1;s<n&&l>=0;s++,l--)
{
i[l]=a[s]-48;
}
for(int s=0,k=m-1;s<m&&k>=0;s++,k--)
{
j[k]=b[s]-48;
}//字符转数字
为了防止出现错误,在调试时我们可以增添一段调试代码: