- #include<bits/stdc++.h>
- using namespace std;
- int c[1009]={0};
- int len;
- void jian(char *a,char *b)
- {
- int len1=strlen(a);
- int len2=strlen(b);
- int x[109]={0},y[109]={0};
- for(int i=0;i<len1;i++)x[len1-i]=a[i]-'0';
- for(int i=0;i<len2;i++)y[len2-i]=b[i]-'0';
- if(len1<len2||len1==len2&&strcmp(a,b)<0)
- {
- cout<<"-";
- for(int i=1;i<=len2;i++)swap(x[i],y[i]);
- swap(len1,len2);
- }
- len=max(len1,len2);
- for(int i=1;i<=len;i++)
- {
- c[i]+=10+x[i]-y[i];
- c[i+1]+=c[i]/10-1;
- c[i]%=10;
- }
- len++;
- while(c[len]==0&&len>1)len--;
- for(int i=len;i>=1;i--)cout<<c[i];
- }
- int main()
- {
- char a[1009],b[1009];
- cin>>a>>b;
- jian(a,b);
- return 0;
- }
来源: http://www.bubuko.com/infodetail-3131346.html