#include #include #include void BigAdd(char *s1,char *s2,int *d);char s1[100], s2[100];int d[102];int main(char *arg[],int n){memset(s1,0,sizeof(s1));memset(s2,0,sizeof(s2));memset(d,0,sizeof(d));while (gets(s1)!=NULL && gets(s2)!=NULL){BigAdd(s1,s2,d);}return 0;}void BigAdd(char *s1,char *s2,int *d){int n,m;int i,j;int c=0;int k=0,f=0;int q;n=strlen(s1);m=strlen(s2);for(i=n-1,j=m-1;i>=0 && j>=0;i--,j--){f=(s1[i]-'0')+(s2[j]-'0');if(f+c<10){d[k++]=f+c;c=0;}else{d[k++]=f-10;c=1;}}//if(i<0){//当i,j都干好小于0,即n=m时:if(j<0 c="=1)" d="" k="" c="" m="" n="" else="" if="" j="">=0 && c==1){d[k++]=s2[j--]-'0'+c;c=0;}else{d[k++]=s2[j--]-'0';}}else //当n〉m{if(j<0 c="=1)" d="" k="" s2="" i--="" -="" 0="" c="" c="0;" else="" d="" k="" s2="" i--="" -="" 0="" for="" q="k-1;q">=0;q--){printf("%d",d[q]);}puts("\n");}这是存在瑕疵的一个大数加法算法,暂时无法找到原因,这算是一种思路吧.日后定当更正代码中的问题
大数加法(瑕疵)
最新推荐文章于 2022-09-04 14:51:20 发布