【c++】拼音转数字

第一题:拼音转数字
输入是一个只包含拼音的字符串,请输出对应的数字序列。转换关系如下:
描述 : 拼音 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届华为校园招聘机试题

全部评论

相关推荐

不愿透露姓名的神秘牛友
09-30 19:49
起名星人:蛮离谱的,直接要求转投销售
投递汇川技术等公司10个岗位
点赞 评论 收藏
分享
如题,字节跳动怎么才能看到自己的面评,找hr说看不到
SoulStar:自己应该看不到,这个是字节比较保密的信息,之前有mentor加我,说他能看到,但是不能给我说,给我说了他可能就要被辞退了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务