大数加法的实现
发布时间:2020-12-14 03:31:05 所属栏目:大数据 来源:网络整理
导读:思想:采用两个字符串进行输入 在把他们颠倒转存在int的数组内 对两数组进行相加 进位处理 ?颠倒转存到另一个字符数组内 最后输出字符数组即可 ? #includestdio.h#includestring.hint a[205],b[205];char ia[205],ib[205];int main(){ int t; scanf("%d",t);
思想:采用两个字符串进行输入 在把他们颠倒转存在int的数组内 对两数组进行相加 进位处理 ?颠倒转存到另一个字符数组内 最后输出字符数组即可 ? #include<stdio.h> #include<string.h> int a[205],b[205]; char ia[205],ib[205]; int main() { int t; scanf("%d",&t); while(t--) { memset(ia,sizeof(ia)); memset(ib,sizeof(ib)); memset(a,sizeof(a)); memset(b,sizeof(b)); scanf("%s%s",ia,ib); int alen=strlen(ia); int blen=strlen(ib); int i=alen-1,k=0; while(i>=0) a[k++]=ia[i--]-'0'; i=blen-1,k=0; while(i>=0) b[k++]=ib[i--]-'0'; int d=0; k=alen>blen?alen:blen; i=0; while(i<k) { b[i]+=a[i]+d; d=b[i]/10; b[i]%=10; i++; } if(d>0) b[k]+=d; else k--; for(i=k;i>=0;i--) ib[k-i]=b[i]+'0'; ib[k+1]=' '; printf("%sn",ib); } return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |