#include <stdio.h> #include <string.h> struct bigInt{ int d[1000]; int len; }; bigInt change(char str[]){ bigInt bI; bI.len=strlen(str); for(int i=0;i<1000;i++){ bI.d[i]=0; } for(int i=0;i<bI.len;i++){ bI.d[i] = str[bI.len-i-1]-'0'; } return bI; } bigInt sub(bigInt a,bigInt b){ bigInt c; c.len=0; for(int i=0;i<a.len||i<b.len;i++){ if(a.d[i]<b.d[i]){ a.d[i+1]--; a.d[i]+=10; } c.d[c.len] = a.d[i]-b.d[i]; c.len++; } while(c.len-1>=1&&c.d[c.len-1]==0)c.len--; return c; } int main(int argc, char *argv[]) { int t; scanf("%d",&t) ; for(int i=1;i<=t;i++){ char stra[100]; char strb[100]; scanf("%s",stra); scanf("%s",strb); bigInt a = change(stra); bigInt b = change(strb); bigInt c; printf("Case #%d:\n",i); if(a.len>b.len||(a.len==b.len&&a.d[a.len-1]>b.d[b.len-1])){ c = sub(a,b); }else{ c = sub(b,a); printf("-"); } for(int i=c.len-1;i>=0;i--){ printf("%d",c.d[i]); } printf("\n"); } return 0; } |
Double click to view unformatted code.