前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布

A+B

作者头像
喜欢ctrl的cxk
发布2019-11-08 14:36:18
4510
发布2019-11-08 14:36:18
举报
文章被收录于专栏:Don的成长史

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_42449444/article/details/89473397

题目描述:

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

输入描述:

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

输出描述:

代码语言:javascript
复制
对每个测试用例输出1行,即A+B的值.

输入样例:

代码语言:javascript
复制
one + two =
three four + five six =
zero seven + eight nine =
zero + zero =

输出样例:

代码语言:javascript
复制
3
90
96

解题思路:

浙大机试题。我的想法是先把字符串str根据'+'和'='号来分割成A、B俩个字符串,通过自定义函数str2num(string str)来实现字符串到数字的转换,然后无脑相加A和B即可。至于str2num()函数的实现,可以建立一个map,利用map来将英文单词转换成相应的数字。要是字符串不含空格,就说明这是个位数,直接return这个单词相应的数字即可;要是字符串含有空格,不要慌问题不大,题目说了A和B都小于100,先将字符串分割成俩个单词 再把那俩个单词转换成相应的数字,return(十位数*10+个位数)即可。

AC代码:

代码语言:javascript
复制
#include <bits/stdc++.h>
using namespace std;

int str2num(string str)   //将含英文单词的字符串转换成数字
{
    map<string,int> m;   //利用map来将英文单词转换成相应的数字
    m["one"] = 1;
    m["two"] = 2;
    m["three"] = 3;
    m["four"] = 4;
    m["five"] = 5;
    m["six"] = 6;
    m["seven"] = 7;
    m["eight"] = 8;
    m["nine"] = 9;
    if(str.find(' ') == string::npos)   //若字符串中没有空格
    {
        return m[str];
    }
    else   //若字符串中含有空格
    {
        int pos = str.find(' ');
        return 10*m[str.substr(0,pos)] + m[str.substr(pos+1,str.length()-pos-1)];
    }
}

int main()
{
    string str;
    while(getline(cin,str) && str!="zero + zero =")   //当A和B同时为0时输入结束
    {
        int pos1 = str.find('+');  //'+'的所在位置
        int pos2 = str.find('=');  //'='的所在位置
        string A = str.substr(0,pos1-1);    //截取字符串A
        string B = str.substr(pos1+2,pos2-pos1-3);   //截取字符串B
        cout << str2num(A) + str2num(B) << endl;

    }

    return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/04/23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目描述:
  • 输入描述:
  • 输出描述:
  • 输入样例:
  • 输出样例:
  • 解题思路:
  • AC代码:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档