using namespace std;
int main()
{
string a,b;
int j=0;
int m,n;
string ax,ay,bx,by;
cin>>a;
cin>>b;
int x=a.find(“.”);
int y=b.find(“.”);
ax=a.substr(0,x);
ay=a.substr(x+1);
bx=b.substr(0,y);
by=b.substr(y+1);//将整数小数分离开
if(ax.size()>bx.size())
m=ax.size();//找到最大位数
else
m=bx.size();
if(by.size()>ay.size())
n=by.size();
else
n=ay.size();
while(ax.size()!=m)
ax=“0”+ax;//整数部分补0(在前面补)
while(bx.size()!=m)
bx=“0”+bx;
while(ay.size()!=n)
ay+=“0”;//小数补0(在后面补)
while(by.size()!=n)
by+=“0”;
int k=0;
string zheng=““,xiao=””;
for(int i=n-1;i>=0;i–)//注意要倒序
{
xiao+=((k+(ay[i]-‘0’)+(by[i]-‘0’))%10+‘0’);//k起到进位的作用
k=(k+(ay[i]-‘0’)+(by[i]-‘0’))/10;//进几
}
for(int i=m-1;i>=0;i–)
{
zheng+=((k+(ax[i]-‘0’)+(bx[i]-‘0’))%10+‘0’);
k=(k+(ax[i]-‘0’)+(bx[i]-‘0’))/10;
}
if(k!=0)
zheng+=k+‘0’;
int c;
for (c=0;c<xiao.length();c++)
if (xiao[c] != ‘0’)
break;//去掉小数部分0
reverse(zheng.begin(), zheng.end());//将整数部分倒序
cout << zheng << “.”;
for (int i = xiao.length() - 1; i>=c; i–)//也可以用reverse
cout << xiao[i];
cout << endl;
}