高精度减法
#include<stdio.h>
#include<string.h>
int a[500],b[500],c[501],lena,lenb,lenc,i,j,x,k;
void jian(char *a1,char *b1){
char temp[500];
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
if(strlen(a1)<strlen(b1)||(strlen(a1)==strlen(b1)&&strcmp(a1,b1)<0)){
strcpy(temp,a1);
strcpy(a1,b1);
strcpy(b1,temp);
c[0]='-';
}
lena=strlen(a1);
lenb=strlen(b1);
for(i=0;i<lena;i++){
a[lena-i]=a1[i]-48;
}
for(i=0;i<lenb;i++){
b[lenb-i]=b1[i]-48;
}
i=1;
while(i<=lena||i<=lenb){
if(a[i]<b[i]){
a[i]+=10;
a[i+1]--;
}
c[i]=a[i]-b[i];
i++;
}
lenc=i;
while((c[lenc]==0)&&(lenc>1)){
lenc--;
}
if(c[0]=='-'){
printf("%c",c[0]);
}
for(i=lenc;i>=1;i--){
printf("%d",c[i]);
}
printf("\n");
}
int main(){
char a1[500],b1[500],t;
scanf("%s%d",a1,&t);
jian(a1,b1);
}