#include<bits/stdc++.h>
using namespace std;
int main(){
char num1[256],num2[256];
int n1[256],n2[256];
cin>>num1>>num2;
int len1=strlen(num1),len2=strlen(num2);
memset(n1,0,sizeof(n1));
memset(n2,0,sizeof(n2));
if(len1<len2 || len1==len2 && strcmp(num1,num2)<0){
char temp[256];
memset(temp,0,sizeof(temp));
strcpy(temp,num1);
strcpy(num1,num2);
strcpy(num2,temp);
cout<<"-";
swap(len1,len2);
}
// else if(len1==len2){
// int k=0;
// while(num1[k]==num2[k] and k<len1-1){
// k++;
// }
// if(num1[k]<num2[k]){
// char temp[256];
// strcpy(temp,num1);
// strcpy(num1,num2);
// strcpy(num2,temp);
// cout<<"-";
// swap(len1,len2);
// }
// }
for(int i=len1-1,j=0;i>=0;i--,j++){
n1[j]=num1[i]-'0';
}
for(int i=len2-1,j=0;i>=0;i--,j++){
n2[j]=num2[i]-'0';
}
// for(int i=0;i<len1;i++)
// cout<<n1[i]<<" ";
// for(int i=0;i<len2;i++)
// cout<<n2[i]<<" ";
// int res_len=len1<len2 ? len2:len1;
int result[256];
memset(result,0,sizeof(result));
for(int i=0;i<len1;i++){
result[i]=n1[i]-n2[i];
}
for(int i=0;i<=len1;i++){
if(result[i]<0){
result[i]+=10;
result[i+1]--;
}
}
while(result[len1-1]==0 and len1>1){
len1--;
}
for(int i=len1-1;i>=0;i--){
cout<<result[i];
}
cout<<endl;
return 0;
}
麻烦各位看看怎么了,我是从之前做的题里面复制的