高精度减法
题目描述
邪狼掌握了简单高精度加法程序的编写后,修罗王要求邪狼写一个简单高精度减法的程序。即求出A-B的值,其中A和B均为非负整数,其位数不超过5000。
输入
共两行数据,第一行为一个非负整数A,第二行为一个非负整数B,A、B的位数均在5000以内。
输出
输出一个整数,即A-B的值。
样例输入
2
1
样例输出
1
解析:
- 与高精加有相似之处,可借鉴高精加;
- 其次,注意会有负数结果;
- 再次,注意要细心;
- 最后,别忘0的情况;
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
char sa[10001],sb[10001],sc[10001];
int a[10001]={0},b[10001]={0},c[10001]={0},la,lb,d=0,s,t,i,j,k;
cin>>sa>>sb;
la=strlen(sa);
lb=strlen(sb);
if(la<lb||(la==lb&&strcmp(sa,sb)<0))
{
strcpy(sc,sa);
strcpy(sa,sb);
strcpy(sb,sc);
cout<<'-';
}
la=strlen(sa