题目描述
二哥当了多年的助教,今天终于要发工资了!二哥正在高兴之际,得知工资是分两部分发放的。第一部分是这学期的工资,另一部分是之前所有学期的工资总和。而领取工资时,出纳员会问二哥,两部分工资加在一起是多少,如果二哥回答错了,就只能领到这个学期的工资之前所有学期的劳动就白费了。
二哥从小道消息得知,出纳员是个对数字敏感的人,不能有一点差错,所以二哥需要一个程序来帮他算出精确的工资总和。
输入格式
输入共两行,每行是一个十进制表示的工资金额(没有正负号,小数点后有两位数字)。
输出格式
输出共一行,即精确的工资总和(没有正负号,小数点后有两位数字)。
说明
工资金额的有效数字位数不超过200位,并保证有小数点。
Sample Input
123.45
543.21
Sample Output
666.66
代码
}
else ABLnth = BLnth;
for(int i=0;i<ABLnth/2;i++)
{
int temp = AB[i];
AB[i] = AB[ABLnth-i-1];
AB[ABLnth-i-1] = temp;
}
for(int i=0; i<ABLnth;i++)
{
cout<<AB[i];
}
}
else{
for(int i=BLnth;i<ALnth;++i)
{
B[i] = '0';
}
int carry = 0;
int AddN=0;
AddN = B[0] - '0' +A[0]-'0';
if(AddN>9)
{
AddN = AddN-10;
carry = 1;
}
else carry =0;
AB[0] = AddN + '0';
AddN = B[1] - '0' +A[1] - '0' + carry;
if(AddN>9)
{
AddN = AddN-10;
carry =1;
}
else carry =0;
AB[1] = AddN+'0';
AB[2] = '.';
for(int i=3;i<ALnth;++i)
{
AddN = B[i] - '0' + A[i] - '0' +carry;
if(AddN>9)
{
AddN = AddN -10;
carry =1;
}
else carry =0;
AB[i] = AddN+'0';
}
if(carry==1)
{
AB[ALnth] = '1';
ABLnth = ALnth+1;
}
else ABLnth = ALnth;
for(int i=0;i<ABLnth/2;i++)
{
int temp = AB[i];
AB[i] = AB[ABLnth-i-1];
AB[ABLnth-i-1] = temp;
}
for(int i=0; i<ABLnth;i++)
{
cout<<AB[i];
}
}
return 0;
}