程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 九度OJ—題目1010:A + B

九度OJ—題目1010:A + B

編輯:C++入門知識

九度OJ—題目1010:A + B


上一篇:http://www.Bkjia.com/kf/201412/363595.html
題目描述: 讀入兩個小於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年浙江大學計算機及軟件工程研究生機試真題 答疑:
解題遇到問題?分享解題心得?討論本題請訪問:www.Bkjia.com
#include 
#include 
using namespace std;
int main()
{
    string a,b;
    int s1=0,s2=0,s;
    loop:while(cin>>a)
    {
        if(a=="zero")
          s1=s1*10+0;
        else if(a=="one")
          s1=s1*10+1;  
        else if(a=="two")
          s1=s1*10+2;
        else if(a=="three")
          s1=s1*10+3;
        else if(a=="four")
          s1=s1*10+4;
        else if(a=="five")
          s1=s1*10+5;
        else if(a=="six")
          s1=s1*10+6;
        else if(a=="seven")
          s1=s1*10+7;
        else if(a=="eight")
          s1=s1*10+8;
        else if(a=="nine")
          s1=s1*10+9;
        else if(a=="+")
          break;    
      }   
     
      while(cin>>b)
      {
        if(b=="zero" && s2 ==0 && s1==0)
          return 0;
        else if(b=="zero")
          s2=s2*10+0;
        else if(b=="one")
          s2=s2*10+1;  
        else if(b=="two")
          s2=s2*10+2;
        else if(b=="three")
          s2=s2*10+3;
        else if(b=="four")
          s2=s2*10+4;
        else if(b=="five")
          s2=s2*10+5;
        else if(b=="six")
          s2=s2*10+6;
        else if(b=="seven")
          s2=s2*10+7;
        else if(b=="eight")
          s2=s2*10+8;
        else if(b=="nine")
          s2=s2*10+9;
        else if(b=="=")  
           break; 
      }   
      s=s1+s2;
      if(s!=0)
      {
          cout<

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved