今天做题碰到大数连加,瞬间麻爪。不会啊。
看了别人的代码仿照写的。
#include<cstdio>
#include<iostream>
#include<string>
using namespace std;
string jia(string a,string b)
{
int i;
while(a.size()>b.size())//补位
b='0'+b;
while(a.size()<b.size())
a='0'+a;
a='0'+a;
b='0'+b;
for(i=a.size()-1;i>=0;i--)
{
a[i]=a[i]+b[i]-'0';
if(a[i]>'9')
{
a[i]-=10;
a[i-1]++;
}
}//加法
while(a.size()>1&&a[0]=='0')
a.erase(0,1);//去零;
return a;
}
int main()
{
string sum="0";
string s;
while(cin >> s)
{
if(s=="0")
{
cout << sum << endl;
sum="0";
}
sum=jia(sum,s);
}
return 0;
}