zoukankan      html  css  js  c++  java
  • 1+2=3

    /*Problem A 
    
    Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)
    
    Total Submission(s) : 8   Accepted Submission(s) : 6
    
    Problem Description
     
    读入两个小于100的正整数A和B,计算A+B.
    需要注意的是:A和B的每一位数字由对应的英文单词给出.
    
    
     
    
    
    Input
     
    测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =",相邻两字符串有一个空格间隔.当A和B同时为0时输入结束,相应的结果不要输出. 
    
    
     
    
    
    Output
     
    对每个测试用例输出1行,即A+B的值.
    
    
     
    
    
    Sample Input
    
    one + two =
    three four + five six =
    zero seven + eight nine =
    zero + zero =
    Sample Output
    
    39096
     
    */
    #include<iostream>
    using namespace std;
    char s[40];
    char temp[11]={'z','o','t','t','f','f','s','s','e','n'}; 
    int myth(int k)
    {
        int ans=0;
        for(int j=0;j<11;j++)
        {
            if(s[k]=='t'&&s[k+1]=='w')
                ans=2;
            else if(s[k]=='t'&&s[k+1]=='h')
                ans=3;
            else if(s[k]=='s'&&s[k+1]=='i')
                ans=6;
            else if(s[k]=='s'&&s[k+1]=='e')
                ans=7;
            else if(s[k]=='f'&&s[k+1]=='o')
                ans=4;
            else if(s[k]=='f'&&s[k+1]=='i')
                ans=5;
            else if(temp[j]==s[k])
                ans=j;
        }
        return ans;
    }
    int main()
    {
        while(1)
        {
            int ans1=0,ans2=0;
            cin.getline(s,40,'\n');
            int i=0;
             ans1 =myth(i);
            while(s[i]!=' ')
                i++;
            if(s[++i]=='+')
            {
                i+=2;
                ans2=myth(i);
            }
            else
            {
                ans1=ans1*10+myth(i);
                while(s[i]!=' ')
                i++;
                i=i+3;
                ans2=myth(i);
            }
            if(!ans1&&!ans2)
                break;
            while(s[i]!=' ')
                i++;
            i++;
            if(s[i]=='=')
                printf("%d\n",ans1+ans2);
            else
            {
                ans2=ans2*10+myth(i);
                printf("%d\n",ans1+ans2);
            }        
        }
        return 0;
    }
  • 相关阅读:
    Windows各个文件夹介绍
    Zabbix使用外部命令fping处理ICMP ping的请求
    QT 样式表实例
    QT 样式表基础知识
    cocos2d-js入门一
    try throw catch typeid
    cocos2d-x入门三 分层设计框架
    cocos2d-x入门二 helloworld实例运行与创建
    cocos2d-x入门一
    批量操作QT UI中的控件
  • 原文地址:https://www.cnblogs.com/heqinghui/p/2774159.html
Copyright © 2011-2022 走看看