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

论坛 期权论坛 脚本     
匿名技术用户   2020-12-28 17:41   408   0
题目:拼音翻译成阿拉伯数字
#include<iostream>
#include<string>
using namespace std;



int str2num(string str)
{
 char* p[]={
  "Ling","Yi","Er","San","Si","Wu","Liu","Qi","Ba","Jiu"
 };
 
 for(int i=0;i<10;i++)
 {
  if(str.compare(p[i])==0)
  {
   return i;
  }
 }
 
 return -1;
}

int main()
{
 int num=0;
 string str;
 cout<<"请输入一串字符串:";
 cin >>str;
 
 for(int i=0;i<str.size();)
 {
  string temp;
  
  int start,end,len=1;
  if(str[i]>='A'&&str[i]<='Z')
  {
   start=i;
   
   i++;
   while(str[i]>='a'&&str[i]<='z'&&i<str.size())
   {
    len++;
    i++;
   }
   
   temp=str.substr(start,len);
   
   
   num=num*10+str2num(temp);

  }
  
 }

 cout<<num;
 
}


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

输入 JiuWanJiuQianJiuBaiJiuShiJiu

输出 99999




分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP