大数减法
??
#include<stdio.h> #include<string.h> using?namespace?std; char?a[1000]; char?b[1000]; int?c[1000]; char?temp[1000]; int?main() { ????while(~scanf("%s%s",a,b)) ????{ ????????int?flog=0; ????????memset(c,sizeof(c)); ????????int?la=strlen(a); ????????int?lb=strlen(b); ????????if(la<lb) ????????{ ????????????flog=1; ????????????strcpy(temp,a); ????????????strcpy(a,b); ????????????strcpy(b,temp); ????????} ????????if(la==lb) ????????{ ????????????if(strcmp(a,b)<0) ????????????{ ????????????????flog=1; ????????????????strcpy(temp,a); ????????????????strcpy(a,b); ????????????????strcpy(b,temp); ????????????} ????????} ????????la=strlen(a); ????????lb=strlen(b); ????????int?j=0; ????????for(int?i=0;i<la;i++) ????????{ ????????????c[j]+=a[i]-'0'; ????????????j++; ????????} ????????int?x=j; ????????j--; ????????for(int?i=lb-1;i>=0;i--) ????????{ ????????????c[j]-=b[i]-'0'; ????????????j--; ????????} ????????for(int?i=x-1;i>=0;i--) ????????{ ????????????if(c[i]<0) ????????????{ ????????????????c[i]=10+c[i]; ????????????????c[i-1]-=1; ????????????} ????????} ????????if(flog==1) ????????printf("-"); ????????int?i=0; ????????if(x>1) ????????{ ????????????for(i=0;i<x;i++) ????????????{ ????????????????if(c[i]!=0)break; ????????????} ????????????if(i==x) ????????????printf("0"); ????????????for(int?j=i;j<x;j++) ????????????{ ????????????????printf("%d",c[j]); ????????????} ????????????printf("n"); ????????????continue; ????????} ????????for(int?i=0;i<x;i++) ????????{ ????????????printf("%d",c[i]); ????????} ????????printf("n"); ????} } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |