zoukankan      html  css  js  c++  java
  • 计算机考研复试 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;
    }
  • 相关阅读:
    思念
    空白
    curl json string with variable All In One
    virtual scroll list All In One
    corejs & RegExp error All In One
    socket.io All In One
    vue camelCase vs PascalCase vs kebabcase All In One
    element ui 表单校验,非必填字段校验 All In One
    github 定时任务 UTC 时间不准确 bug All In One
    input range & color picker All In One
  • 原文地址:https://www.cnblogs.com/parzulpan/p/9994213.html
Copyright © 2011-2022 走看看