大数相加
发布时间:2020-12-14 03:34:28 所属栏目:大数据 来源:网络整理
导读:/**程序的版权和版本声明部分:*Copyright(c)2014,烟台大学计算机学院学生*All rights reserved.*文件名称:*作者:田成琳*完成日期:2014 年 5 月 28 日*版本号:v1.0*对任务及求解方法的描述部分:*问题描述:大数相加*输入描述: a,b*程序输出:a+b的和*
/* *程序的版权和版本声明部分: *Copyright(c)2014,烟台大学计算机学院学生 *All rights reserved. *文件名称: *作者:田成琳 *完成日期:2014 年 5 月 28 日 *版本号:v1.0 *对任务及求解方法的描述部分: *问题描述:大数相加 *输入描述: a,b *程序输出:a+b的和 *问题分析: *算法设计: */ #include <iostream> #include <cstring> using namespace std; int main() { char a[1001],b[1001];//a,b两数分别用字符数组储存 int aa[1001]={0},bb[1001]={0},sum[1001]={0},alen,blen,mlen; cin>>a>>b; alen=strlen(a);//求长度,即位数 blen=strlen(b); mlen=alen>blen?alen:blen; for(int i=0; i<alen; ++i) //字符数组的数字倒序存放到整形数组 aa[i]=a[alen-i-1]-'0'; for(int j=0; j<blen; ++j) bb[j]=b[blen-j-1]-'0'; for(int k=0; k<mlen; ++k) { sum[k]+=aa[k]+bb[k]; if(sum[k]>=10) { sum[k+1]=1;//向前进位 sum[k]%=10;//本位对10取余 } } if(sum[mlen-1]==1) mlen++; for(int o=mlen-1; o>=0; --o) cout<<sum[o]; return 0; }
心得体会: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |