【c++】拼音转数字

来源:互联网 发布:苹果翻墙后用什么软件 编辑:程序博客网 时间:2024/03/29 15:33

第一题:拼音转数字
输入是一个只包含拼音的字符串,请输出对应的数字序列。转换关系如下:
描述 : 拼音 yi er san si wu liu qi ba jiu
阿拉伯数字 1 2 3 4 5 6 7 8 9
输入字符只包含小写字母,所有字符都可以正好匹配
运行时间限制:无限制
内存限制: 无限制
输入: 一行字符串,长度小于1000
输出: 一行字符(数字)串
样例输入: yiersansi
样例输出: 1234

程序代码:

#include<iostream>#include<cstdio>#define MAX 1000;using namespace std;void print(char *str,int length);int main(){    char str[1000];    int i=0;    char c;    int length=0;    while((str[i]=getchar())!='\n')    {        i++;    }    print(str,i);//i即为字符数组长度     return 0;}void print(char *str,int length){    int i=0;    for(i=0;i<length-1;)    {        if(str[i]=='y')        {putchar('1');i+=2;}        else if(str[i]=='e')        {putchar('2');i+=2;}        else if(str[i]=='s')        {            if(str[i+1]=='a')            {putchar('3');i+=3;}            else            {putchar('4');i+=2;}        }        else if(str[i]=='w')        {putchar('5');i+=2;}        else if(str[i]=='l')        {putchar('6');i+=3;}        else if(str[i]=='q')        {putchar('7');i+=2;}        else if(str[i]=='b')        {putchar('8');i+=2;}        else if(str[i]=='j')        {putchar('9');i+=3;}        else         i++;    }}

运行结果:
这里写图片描述

参考资料:2015届华为校园招聘机试题

0 0
原创粉丝点击