1010: A + B
时间限制: 1Sec
内存限制: 32 MB
提交:321
解决: 158
题目描述
读入两个小于100的正整数A和B,计算A+B.
需要注意的是:A和B的每一位数字由对应的英文单词给出.
输入
测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B=",相邻两字符串有一个空格间隔.当A和B同时为0时输入结束,相应的结果不要输出.
输出
样例输入
one + two =
three four + five six =
zero seven + eight nine =
zero + zero =
样例输出
提示
来源
2005年浙江大学计算机及软件工程研究生机试真题
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
int main()
{
stringnum1,num2;
long doublenum_1=0,num_2=0;
inti=0;
int sflag=1;
while(cin>>num1)
{
if(num1[0]=='-')
{
sflag = -1;
i++;
}
while(i<num1.size())
{
int tem =1;
if(num1[i] ==',')
{
;
}
else
{
num_1 =num_1*10;
tem=(int)num1[i] - 48;
num_1 +=tem;
}
i++;
}
num_1 *=sflag;
sflag =1;
i=0;
cin>>num2;
if(num2[0]=='-')
{
i++;
sflag =-1;
}
while(i<num2.size())
{
int tem =1;
if(num2[i]==',')
{
;
}
else
{
num_2 = num_2 *10;
tem = (int)num2[i] - 48;
num_2 +=tem;
}
i++;
}
num_2 *=sflag;
sflag =1;
i=0;
cout<<setiosflags(ios::fixed)<<num_1+ num_2<<endl;
num_1 = num_2 =0;
}
return0;
}