0分代码如下:
#include"bits/stdc++.h"
int a[10088],b[10088],c[10088];
bool flag;
void jianfa(int flag)
{
if (flag)
{
for (int i=1;i<=10087;i++)
{
c[i]=a[i]-b[i];
}
for (int k=1;k<=10087;k++)
{
if (c[k]<0)
{
c[k]+=10;
c[k+1]--;
}
}
}
if (!flag)
{
for (int i=1;i<=10087;i++)
{
c[i]=b[i]-a[i];
}
for (int k=1;k<=10087;k++)
{
if (c[k]<0)
{
c[k]+=10;
c[k+1]--;
}
}
c[0]=1;
}
}
using namespace std;
int main()
{
int e,f;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
scanf("%d",&e);
scanf("%d",&f);
if (e>=f)
{
flag=true;
}
if (e<f)
{
flag=false;
}
for (int o=1;o<=10086;o++)
{
a[o]=e%10;
e=e/10;
}
for (int smy=1;smy<=10086;smy++)
{
b[smy]=f%10;
f=f/10;
}
jianfa(flag);
if (c[0]==1)
{
printf("-");
}
bool shenju=false;
for (int t=10086;t>=1;t++)
{
if (c[t]!=0)
{
shenju=true;
}
if (shenju)
{
printf("%d",c[t]);
}
}
if (!shenju)
{
printf("0");
}
return 0;
}