输入两行字符串正整数,第一行是被减数,第二行是减数,输出第一行减去第二行的结果。
备注:1、两个整数都是正整数,被减数大于减数
示例:
输入:1000000000000001
1
输出:1000000000000000
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
const int Max =20;
char a[Max] , b[Max];
cin>>a;
cin>>b;
int a_len = strlen(a)-1,b_len = strlen(b)-1;
int num = strlen(a);
char* c = new char [num+1];
c[num]='\0';
int i= num-1;
bool flage = false;
while( (b_len) >=0)
{
if((a[a_len]+0-flage)>= b[b_len])
{
c[i]= '0'+a[a_len]-b[b_len] +0 -flage;
flage = false;
}
else{
c[i]= '0'+a[a_len]-b[b_len] +10 -flage;
flage = true;
}
b_len--;
a_len--;
i--;
}
while((a_len)!= -1)
{
c[a_len] = a[a_len]+ 0 -flage;
if(a[a_len]> '0')
flage = false;
else
flage =true;
a_len--;
}
cout<<c<<endl;
}