大数加法(瑕疵)

#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");}这是存在瑕疵的一个大数加法算法,暂时无法找到原因,这算是一种思路吧.日后定当更正代码中的问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值