1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | # define max 1000 char arr[max]; void subtract(char *a1,char *b1) { int l1,l2; char temp[max],a[max],b[max]; int c=0,sub=0,m=0; int i,j,k=0; for(i=strlen(a1)-1;i>=0;i--) a[k++]=a1[i]; a[k]='\0';k=0; for(i=strlen(b1)-1;i>=0;i--) b[k++]=b1[i]; b[k]='\0'; //printf("%s %s\n",a,b); l1=strlen(a); l2=strlen(b); if(l2>l1) { strcpy(temp,b); strcpy(b,a); strcpy(a,temp); } l1=strlen(a); l2=strlen(b); k=0; for(i=0;i<l2;i++) { int n1=a[i]-'0'; int n2=b[i]-'0'; printf("n1=%d n2=%d ",n1,n2); sub=n1-n2-c; if(sub<0) { sub=10+sub;c=1; arr[k++]=sub+'0'; printf("%d %c\n",sub,arr[k-1]); } else {c=0;arr[k++]=sub+'0'; printf("%d %c\n",sub,arr[k-1]);} } for(i=l2;i<l1;i++) { int n1=a[i]-'0'; sub=n1-c; if(sub<0) { sub=10+sub;c=1; arr[k++]=sub+'0'; printf("2== %d %c\n",sub,arr[k-1]); } else {c=0;arr[k++]=sub+'0'; printf("2== %d %c\n",sub,arr[k-1]);} } arr[k]='\0'; printf("arr=%s\n",arr); for(i=strlen(arr)-1;i>=0;i--) printf("%c",arr[i]); return arr; } int main() { char a[max],b[max],c[max]; scanf("%s %s",a,b); subtract(a,b); return 0; } |
-
upload with new input
-
result: Success time: 0.01s memory: 1724 kB returned value: 0
1234 999
n1=4 n2=9 5 5 n1=3 n2=9 3 3 n1=2 n2=9 2 2 2== 0 0 arr=5320 0235
-
result: Success time: 0.01s memory: 1724 kB returned value: 0
100000 98765
n1=0 n2=5 5 5 n1=0 n2=6 3 3 n1=0 n2=7 2 2 n1=0 n2=8 1 1 n1=0 n2=9 0 0 2== 0 0 arr=532100 001235
-
result: Success time: 0.01s memory: 1724 kB returned value: 0
1000000000000000 1
n1=0 n2=1 9 9 2== 9 9 2== 9 9 2== 9 9 2== 9 9 2== 9 9 2== 9 9 2== 9 9 2== 9 9 2== 9 9 2== 9 9 2== 9 9 2== 9 9 2== 9 9 2== 9 9 2== 0 0 arr=9999999999999990 0999999999999999
-
result: Success time: 0.01s memory: 1724 kB returned value: 0
100000 999
n1=0 n2=9 1 1 n1=0 n2=9 0 0 n1=0 n2=9 0 0 2== 9 9 2== 9 9 2== 0 0 arr=100990 099001
-
result: Success time: 0.01s memory: 1724 kB returned value: 0
9999 123
n1=9 n2=3 6 6 n1=9 n2=2 7 7 n1=9 n2=1 8 8 2== 9 9 arr=6789 9876



