首页 > 代码库 > 3115 高精度练习之减法
3115 高精度练习之减法
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
char m[1001],n[1001];
int a[1001],b[1001],c[1001];
int main()
{
scanf("%s",&m);
scanf("%s",&n);
int lm=strlen(m);
int ln=strlen(n);
if(lm<ln||(lm==ln&&strcmp(m,n)<0))
{
swap(m,n);
cout<<"-";
}
lm=strlen(m);
ln=strlen(n);
for(int i=0;i<lm;i++)
{
a[i]=m[lm-i-1]-‘0‘;
}
for(int i=0;i<ln;i++)
{
b[i]=n[ln-i-1]-‘0‘;
}
int lc;
lc=0;
while(lc<=lm)
{
if(a[lc]<b[lc])
{
a[lc]+=10;
a[lc+1]--;
}
c[lc]=a[lc]-b[lc];
lc++;
}
while(c[lc]==0&&lc>=1)
{
lc--;
}
for(int i=lc;i>=0;i--)
{
cout<<c[i];
}
}
3115 高精度练习之减法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。