题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1228

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
3 90 96

题解思路:这道题本来想用gets函数,循环读进来的字符串,把每一个单词存到二维数组里面,再与已存在的二维数组进行比较。但看了别人的题解后才发现忘了scanf有这个功能即遇到空格、换行、回车、水平制表符、换页符、垂直制表符就会停止读取(这里用到的是空格的功能),不仅效率高,而且思路清晰,代码简洁。

AC代码:

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. char t[][]={"zero","one","two","three","four","five","six","seven","eight","nine"};//先用二维数组保存对应的数字
  4. int fd(char str[])//查找字符串
  5. {
  6. int i;
  7. for(i=;i<;i++)
  8. if(!strcmp(t[i],str))break;
  9. return i;//返回该字符串对应的数字
  10. }
  11. int main()
  12. {
  13.  
  14. char c[];
  15. int a,b;
  16. while(){
  17. a=b=;
  18. while(scanf("%s",c)&&strcmp(c,"+"))a=a*+fd(c);//遇到'+'就会结束当前循环
  19. while(scanf("%s",c)&&strcmp(c,"="))b=b*+fd(c);//遇到'='就会结束当前循环
  20. if(a==&&b==)break;//题目要求当A、B都为0时停止输入
  21. else cout<<(a+b)<<endl;//直接计算输出结果
  22. }
  23. return ;
  24. }

题解报告:hdu 1228 A+B(字符串)的更多相关文章

  1. hdu 1228 A+B 字符串处理 超级大水题

    中文意思不解释. 很水,我本来想用switch处理字符串,然后编译不通过...原来switch只能处理整数型的啊,我都忘了. 然后就有了很挫的一大串if代码了... 代码: #include < ...

  2. 题解报告:hdu 1398 Square Coins(母函数或dp)

    Problem Description People in Silverland use square coins. Not only they have square shapes but also ...

  3. 题解报告:hdu 2069 Coin Change(暴力orDP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2069 Problem Description Suppose there are 5 types of ...

  4. 题解报告:hdu 1028 Ignatius and the Princess III(母函数or计数DP)

    Problem Description "Well, it seems the first problem is too easy. I will let you know how fool ...

  5. 2015浙江财经大学ACM有奖周赛(一) 题解报告

    2015浙江财经大学ACM有奖周赛(一) 题解报告 命题:丽丽&&黑鸡 这是命题者原话. 题目涉及的知识面比较广泛,有深度优先搜索.广度优先搜索.数学题.几何题.贪心算法.枚举.二进制 ...

  6. 「题解报告」 P3167 [CQOI2014]通配符匹配

    「题解报告」 P3167 [CQOI2014]通配符匹配 思路 *和?显然无法直接匹配,但是可以发现「通配符个数不超过 \(10\) 」,那么我们可以考虑分段匹配. 我们首先把原字符串分成多个以一个通 ...

  7. cojs 强连通图计数1-2 题解报告

    OwO 题目含义都是一样的,只是数据范围扩大了 对于n<=7的问题,我们直接暴力搜索就可以了 对于n<=1000的问题,我们不难联想到<主旋律>这一道题 没错,只需要把方程改一 ...

  8. cojs 二分图计数问题1-3 题解报告

    OwO 良心的FFT练手题,包含了所有的多项式基本运算呢 其中一部分解法参考了myy的uoj的blog 二分图计数 1: 实际是求所有图的二分图染色方案和 我们不妨枚举这个图中有多少个黑点 在n个点中 ...

  9. CF Educational Round 78 (Div2)题解报告A~E

    CF Educational Round 78 (Div2)题解报告A~E A:Two Rival Students​ 依题意模拟即可 #include<bits/stdc++.h> us ...

  10. CF1169(div2)题解报告

    CF1169(div2)题解报告 A 不管 B 首先可以证明,如果存在解 其中必定有一个数的出现次数大于等于\(\frac{m}{2}\) 暴力枚举所有出现次数大于等于$\frac{m}{2} $的数 ...

随机推荐

  1. java数据库连接池技术简单使用

    JDBCDemo.java: package com.itheima.jdbc; import java.sql.Connection; import java.sql.PreparedStateme ...

  2. 微信小程序之 Tabbar(底部选项卡)

    1.项目目录 2.在app.json里填写:tab个数范围2-5个 app.json { "pages": [ "pages/index/index", &qu ...

  3. react 组件之间传值

    谈及React时,就会想到一个很重要的思想,就是组件化思想.它将可以重用的部分进行组件化开发,形成一个个相对独立的组件,那么组件化后,你也会提出些疑问,组件与组件之间,将怎样进行信息的传递呢?下面来介 ...

  4. C++对象模型——解构语意学(第五章)

    5.4    对象的效率 (Object Efficiency) 在下面的效率測试中,对象构造和拷贝所须要的成本是以Point3d class声明为基准,从简单形式逐渐到复杂形式,包含Plain Ol ...

  5. 亿部书城李柯毅:Testin云測可大幅提升产品质量 值得推荐!

    亿部书城李柯毅:Testin云測可大幅提升产品质量 值得推荐! 2014/10/13 · Testin · 开发人员訪谈 成立于2010年的亿部书城.其主营业务为移动增值业务及数字出版业务,由中央部委 ...

  6. 最齐全的站点元数据meta标签的含义和使用方法

    最齐全的站点元数据meta标签的含义和使用方法 随着HTML5的流行和Web技术的不断演变,Meta标签队伍也越来越壮大,从Windows XP的IE6到现在Windows 7.Windows 8的I ...

  7. STL_算法_最小值和最大值(min_element、max_element)

    C++ Primer 学习中... 简单记录下我的学习过程 (代码为主) min_element.max_element  找最小.最大值. 非常easy没什么大作用 #include<iost ...

  8. 架构师基本功:SOA

    (以下内容为个人理解,可能不够全面和准确) SOA (service-oriented architecture),面向服务的架构 啥是SOA?网上的解释,玄而又玄.俺说点人话,也许不准确,但现阶段我 ...

  9. a simple and universal interface between web servers and web applications or frameworks: the Python Web Server Gateway Interface (WSGI).

    WSGI is the Web Server Gateway Interface. It is a specification that describes how a web server comm ...

  10. 区块链共识算法 PBFT(拜占庭容错)、PAXOS、RAFT简述

    共识算法 区块链中最重要的便是共识算法,比特币使用的是POS(Proof of Work,工作量证明),以太币使用的是POS(Proof of Stake,股权证明)使得算理便的不怎么重要了,而今PO ...