• 计算机考研复试 A+B


    题目描述

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

    输入描述:

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

    输出描述:

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

    输入

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

    输出

    3
    90
    96





    //计算机考研复试 A+B
    /*
    程序设计思想:
    1.关键就是字符串的处理,怎么把每个数给分离出来,用cin一个一个的读入,用change()函数给转换成具体的数字.
    2.声明char a[10][10],存放单词,用于比较。
    3.注意点:
            strcmp函数,比较两个字符串
            设这两个字符串为str1,str2,
            若str1==str2,则返回零;
            若str1<str2,则返回负数;
            若str1>str2,则返回正数。
    */
    //程序实现:
    #include<iostream>
    #include<string>
    using namespace std;
    
    char a[10][10] = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
    
    int change(string s) {    //将单词转换成对应数字
        for (int i = 0; i < 10; i++) {
            if (a[i] == s)
                return i;
        }
        return 0;
    }
    
    int main()
    {
        string str;
        while (1) {
            int a = 0, b = 0;
            while (cin >> str && str != "+") {    //输入单词,且不为 +
                a = a * 10 + change(str);
            }
            while (cin >> str && str != "=") {    //输入单词,且不为 =
                b = b * 10 + change(str);
            }
            if (a == 0 && b == 0)    //当A和B同时为0时输入结束,相应的结果不要输出.
                break;
            else
                cout << a + b << endl;
        }
        return 0;
    }
  • 相关阅读:
    OpenStreetMap/Google/百度/Bing瓦片地图服务(TMS)
    【APM】Pinpoint 监控告警(三)
    【APM】Pinpoint 使用教程(二)
    【APM】Pinpoint 安装部署(一)
    【HBase】HBase 单机版安装及使用
    【SpringBoot】SpringBoot快速入门(一)
    【Java】Swagger快速入门
    【WebSocket】WebSocket快速入门
    【JS】AJAX跨域-被调用方与调用方解决方案(二)
    【JS】AJAX跨域-JSONP解决方案(一)
  • 原文地址:https://www.cnblogs.com/parzulpan/p/9994213.html
Copyright © 2020-2023  润新知