码迷,mamicode.com
首页 > 其他好文 > 详细

大数加法

时间:2016-09-18 21:11:46      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

---恢复内容开始---

#include <iostream>
#include <cstring>
#define Max 1000
using namespace std;
void Reverse(char* a)
{
int size1=strlen(a)-1;
int size2=(size1+1)/2;
char temp;
for (int i=0;i<size2;i++)
{
temp=a[i];
a[i]=a[size1-i];
a[size1-i]=temp;
}
return;
}
int main()
{
while(1){
char a[Max],b[Max];
int s[Max];
cin>>a>>b;
Reverse(a);
Reverse(b);
int c=strlen(a);
int d=strlen(b);
int m=max(c,d)+1;
int n=0;
for(int i=0;i<m;i++){
if(a[i]==‘\0‘&&b[i]!=‘\0‘)
s[i]=b[i]-‘0‘;
else if(a[i]!=‘\0‘&&b[i]==‘\0‘)
s[i]=a[i]-‘0‘;
else if(a[i]==‘\0‘&&b[i]==‘\0‘)
break;
else s[i]=(a[i]-‘0‘)+(b[i]-‘0‘);
if(n==1){
s[i]+=1;
n=0;
}
if(s[i]>9){
s[i]=s[i]%10;
n=1;
}
}
if(n==1) s[m-1]=1;
else m--;
for(int i=m-1;i>=0;i--){
cout<<s[i];
}
cout<<endl;
}
return 0;
}

---恢复内容结束---

大数加法

标签:

原文地址:http://www.cnblogs.com/xiaoruru/p/5882937.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!