【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届华为校园招聘机试题