帮忙看看吧 (o * ^ * o)。。。。
两点WA [哭唧唧]
#include<bits/stdc++.h>
using namespace std;
string s1,s2,s3,a1,a2;
long long n,s=0,x[10000],y[10000],z[10000];
string gjd(string s1,string s2)
{
if(s1.size()>=s2.size()) n=s1.size();
else n=s2.size();
a1=s1.size();
a2=s2.size();
if(a1<a2)
{
cout<<"-";
swap(s1,s2);
swap(a1,a2);
}
else if(a1==a2&&s1<s2)
{
cout<<"-";
swap(s1,s2);
swap(a1,a2);
}
reverse(s1.begin(),s1.end());
reverse(s2.begin(),s2.end());
for(int i=0;i<s1.size();i++) x[i]=s1[i]-'0';
for(int i=0;i<s2.size();i++) y[i]=s2[i]-'0';
for(int i=0;i<n;i++) z[i]=x[i]-y[i];
for(int i=0;i<n;i++)
{
if(z[i]<0)
{
z[i+1]--;
z[i]=z[i]+10;
}
}
int p=0;
n++;
for(int i=n;i>=0;i--)
{
if(z[i]!=0)
{
p=i;
break;
}
}
string ans="";
for(int i=p;i>=0;i--)
{
ans=ans+char(z[i]+'0');
}
return ans;
}
int main()
{
cin>>s1>>s2;
s3=gjd(s1,s2);
cout<<s3;
return 0;
}