题目描述:
输入:
输出:
样例输入:
样例输出:
代码:
#include <bits/stdc++.h>
using namespace std;
void give(char sour[], int dest[])
{
int len = strlen(sour);
for(int i=0; i<len; i++)
{
dest[i] = sour[len-1-i] - '0';
}
return;
}
int main()
{
char a[1000],b[1000];
cin>>a>>b;
bool positive=true;
int lena = strlen(a);
int lenb = strlen(b);
int len = max(lena,lenb);
if(lena > lenb) positive = true;
else if(lena < lenb) positive = false;
else
{
for(int i=0; i<len; i++)
{
if(a[i]>b[i])
{
positive = true;
break;
}
else if(a[i]<b[i])
{
positive = false;
break;
}
else continue;
}
}
int up[1000]= {0},down[1000]= {0};
if(positive == true)
{
give(a,up);
give(b,down);
}
else
{
give(a,down);
give(b,up);
}
int weishu;
for(int i=0; i<len; i++)
{
up[i] -= down[i];
if(up[i] < 0)
{
up[i] += 10;
up[i+1] --;
}
if(up[i])
{
weishu = i;
}
}
if(!positive) cout<<"-";
for(int i=weishu; i>=0; i--)
{
cout<<up[i];
}
return(0);
}