题目:拼音翻译成阿拉伯数字

输入一串拼音,输出它代表的阿拉伯数字(Ling,Yi,Er,San,Si,Wu,Liu,Qi,Ba,Jiu),数字不会超过十万

为了处理方便,输入一定是数字带单位的,例如10会是YiShi,而不是一个单独的Shi.

输入 JiuWanJiuQianJiuBaiJiuShiJiu

输出 99999

基本思路:

遍历找到下一个大写字母,截取子串,比较匹配,重要的是处理最后一位是数字还是单位。

#include <iostream>
#include <string>
using namespace std;  void filter(string str)
{  //各字符串的下标即为其对应的阿拉伯数字  char *ch[]={"Ling","Yi","Er","San","Si","Wu","Liu","Qi","Ba","Jiu"};  int a=0;//存储数字int i,j=1,k,len,sum=0,flag;  string substr;  len=str.length(); for(i=0;i<len;)  {    //遇到下一个大写字母的停下来if(str[j]<'a'||j==len){flag=0;//标记最后是数字还是wan,qian,bai,shisubstr=str.substr(i,j-i);if(!substr.compare("Wan")){sum+=a*10000;}else if(!substr.compare("Qian")){sum+=a*1000;}else if(!substr.compare("Bai")){sum+=a*100;}else if(!substr.compare("Shi")){sum+=a*10;}else{for(k=0;k<10;k++) {              if(!substr.compare(ch[k]))  {flag=1;a=k;//printf("%d",k);//相等则打印出数字  break;  } }}i+=(j-i);//i跳到下一个大写字母开始j=i+1;}else{j++;}} if(flag)printf("%d\n",sum+a);elseprintf("%d\n",sum);
}  int main()
{  string str;  while(cin>>str){ //cin>>str;filter(str);
}return 0;
}  

测试结果,可能不周全,欢迎查漏补缺:

华为机试—拼音翻译成阿拉伯数字(有Wan,Qian,Bai,Shi单位)相关推荐

  1. 华为机试—拼音翻译成阿拉伯数字(只有数字拼音)

    题目:拼音翻译成阿拉伯数字(只有数字拼音) 输入一串拼音,输出它代表的阿拉伯数字(Ling,Yi,Er,San,Si,Wu,Liu,Qi,Ba,Jiu),数字不会超过十万 为了处理方便,输入一定是只有 ...

  2. 华为机试-拼音翻译成阿拉伯数字

    题目描述: 输入一串拼音,输出它代表的阿拉伯数字(Ling,Yi,Er,San,Si,Wu,Liu,Qi,Ba,Jiu),数字不会超过十万 为了处理方便,输入一定是只有数字拼音的,没有其他的单词或者字 ...

  3. 每天一道算法题——拼音翻译成阿拉伯数字(只有数字拼音)

    题目:拼音翻译成阿拉伯数字 #include<iostream> #include<string> using namespace std;int str2num(string ...

  4. 拼音翻译成阿拉伯数字_华为SO挑战赛2015年8月

    <img src="https://img-blog.csdn.net/20150904101854066" alt="" /> #include ...

  5. 【华为机试真题 Python实现】字符串以 N 为单位分段

    文章目录 前言 题目描述 示例 1 参考代码 可以拆解为 如果忘记右侧补充可以使用字符串截取 前言 <华为机试真题>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备华为 ...

  6. 数字拼音翻译成阿拉伯数字

    输入一串拼音,输出它代表的阿拉伯数字(Ling,Yi,Er,San,Si,Wu,Liu,Qi,Ba,Jiu),数字不会超过十万 为了处理方便,输入一定是只有数字拼音的,没有其他的单词或者字符. 输入: ...

  7. 拼音翻译成阿拉伯数字

    输入一串拼音,输出它代表的阿拉伯数字(Ling,Yi,Er,San,Si,Wu,Liu,Qi,Ba,Jiu),数字不会超过十万 为了处理方便.输入一定是数字带单位的,比如10会是YiShi,而不是一个 ...

  8. Java算法:华为机试算法(下),华为算法Java版,牛客网华为算法73~108题

    接上篇:Java算法:华为机试算法(中),华为算法Java版,牛客网华为算法55~72题   HJ73 计算日期到天数转换 计算日期到天数转换 题目描述 根据输入的日期,计算是这一年的第几天.. 测试 ...

  9. 【华为机试 Python实现】华为机试题集合(已更新171篇)

    文章目录 新手指引 数据结构基础 华为机试真题系列 牛客网华为机试系列 Python 八股文系列 <华为机试真题详解>专栏定价99.9 包含 <华为机试真题>的所有题目. 包含 ...

最新文章

  1. android8 通知呼吸灯_Android中通知Notification使用实例(振动、灯光、声音)
  2. .INFO域名总量跌破700万,8月第三周净减51,477个
  3. EPSON机器人SPLE+语言_简单实例
  4. Spring boot请求拦截
  5. oracle pipelined返回值函数 针对数据汇总统计 返回结果集方法
  6. Nagios Apache报Internal Server Error错误的解决方法
  7. SAP S/4HANA Analytics Path Framework 里过滤器(filter)的使用方法介绍
  8. 50-00-040-配置-Flink Configuration简介
  9. 2021中国云计算有哪些新的亮点和变化?
  10. Data Mining with R
  11. VB.NET 教程_02_常见对象
  12. LP3667B反激式开关电源5W(5V1A)输出电路
  13. cvs数据格式 gps_CSV、TXT 和 GPX 文件
  14. 关于“应用程序正常初始化(0xc0150002)失败”问题的解决方案
  15. 无支付牌照的电商平台“二清”通病问题需彻底根治
  16. Vuejs 的入门(笔记)
  17. js中如何判断一个数是不是素数(三种方法)
  18. rdesktop参数
  19. 深度学习中需要掌握的数学1之概率统计
  20. 免疫的特异性和非特异性

热门文章

  1. 2017软院金山WPS补题 L
  2. FOFA网络空间搜索引擎
  3. 项目管理最佳实践:项目管理案例
  4. 谈计算(cpu)密集型和io密集型与php性能优化
  5. 关于网站搜索引擎优化技巧,杭州SEO公司清法网络有话说
  6. 高防CDN对于网站、平台有着至关重要作用?
  7. Error response from daemon: Container 073f76ff69aa420bbd3f70050779111770562b080caa77e89bd444d0bf3a3a
  8. 【离散椭圆弧】将椭圆弧按弧长等分为一定数量弧上点
  9. 教育知识与能力(1)
  10. 华电软工非全研究生学习工作总结-研二开学总结