#include <iostream>
#include <cstring>
#include <cstdlib>
#include <cstdio>
using namespace std;
char str1[10090],str2[10090],str3[10090];
int a[10090],b[10090],c[10090];
bool compare(char a[],char b[] );
int main()
{
scanf("%s",str1);
scanf("%s",str2);
int len1=strlen(str1),len2=strlen(str2);
if (!compare(str1,str2) )
{
strcpy(str3,str1);
strcpy(str1,str2);
strcpy(str2,str3);
cout<<"-";
}
for (int i=0;i<len1;i++)
a[len1-i]=str1[i]-'0';
for (int i=0;i<len2;i++)
b[len2-i]=str2[i]-'0';
for (int i=1;i<len1+1;i++)
{
if (a[i]<b[i])
{
a[i]=a[i]+10;
a[i-1]=a[i-1]-1;
}
c[i]=a[i]-b[i];
}
while (c[len1]==0&&len1>1) len1--;
for (int i=len1;i>0;i--)
cout<<c[i];
}
bool compare(char a[],char b[] )
{
int u,v;
u=strlen(a);
v=strlen(b);
if (u!=v) return u>v;
for (int i=0;i<=u;i++)
if(a[i]!=b[i]) return a[i]>b[i];
return true;
}
纯编程小白,以上是源码 只能通过#6测试点,求大佬指点