看看怎么错了
程序代码:
#include <stdio.h> #include <stdlib.h> #include <string.h> main() { int a[100]={0},b[100]={0},c[100]={0},i,len,la,lb,sum,da; char s1[100],s2[100]; scanf("%s %s",s1,s2); la=strlen(s1); lb=strlen(s2); da=0; if(la<lb) da=1; else if(la==lb) for(i=0;i<la;i--) { if(s1[i]>s2[i]) break; if(s1[i]<s2[i]) { da=1; break; } } if(da==1) { for(i=0;i<lb;i++) a[i]=s2[lb-1-i]-'0'; for(i=0;i<la;i++) b[i]=s1[la-1-i]-'0'; } if(da!=1) { for(i=0;i<la;i++) a[i]=s1[la-1-i]-'0'; for(i=0;i<lb;i++) b[i]=s2[lb-1-i]-'0'; } len=la>lb?la:lb; sum=0; for(i=0;i<len;i++) { c[i]=a[i]-b[i]-sum; sum=c[i]>0; if(sum<0) c[i]+=10; } if(c[len-1]==0&&len>1) len--; if(da==1) putchar('-'); for(i=len-1;i>=0;i--) printf("%d",c[i]); getch(); }求助。高精度减法。本人上初二,希望菜鸟们一起探讨一下。