1 #include<bits/stdc++.h> 2 using namespace std; 3 int c[1009]={0}; 4 int len; 5 void jian(char *a,char *b) 6 { 7 int len1=strlen(a); 8 int len2=strlen(b); 9 int x[109]={0},y[109]={0}; 10 for(int i=0;i<len1;i++)x[len1-i]=a[i]-‘0‘; 11 for(int i=0;i<len2;i++)y[len2-i]=b[i]-‘0‘; 12 if(len1<len2||len1==len2&&strcmp(a,b)<0) 13 { 14 cout<<"-"; 15 for(int i=1;i<=len2;i++)swap(x[i],y[i]); 16 swap(len1,len2); 17 } 18 len=max(len1,len2); 19 for(int i=1;i<=len;i++) 20 { 21 c[i]+=10+x[i]-y[i]; 22 c[i+1]+=c[i]/10-1; 23 c[i]%=10; 24 } 25 len++; 26 while(c[len]==0&&len>1)len--; 27 for(int i=len;i>=1;i--)cout<<c[i]; 28 } 29 int main() 30 { 31 char a[1009],b[1009]; 32 cin>>a>>b; 33 jian(a,b); 34 return 0; 35 }
原文:https://www.cnblogs.com/1129-tangqiyuan/p/11228076.html