九度论坛--上机题1010:A+B

1010: A + B

时间限制: 1Sec    内存限制: 32 MB
提交:321    解决: 158

题目描述

读入两个小于100的正整数A和B,计算A+B.
需要注意的是:A和B的每一位数字由对应的英文单词给出.

输入

测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B=",相邻两字符串有一个空格间隔.当A和B同时为0时输入结束,相应的结果不要输出.

输出

对每个测试用例输出1行,即A+B的值.

样例输入

one + two =
three four + five six =
zero seven + eight nine =
zero + zero =

样例输出

3
90
96

提示

来源

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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值