华为机试题之拼音转数字
来源:互联网 发布:淘宝上便宜手机能买吗 编辑:程序博客网 时间:2024/04/20 23:33
输入是一个只包含拼音的字符串,请输出对应的数字序列。转换关系如下:
描述: 拼音 yi er san si wu liu qi ba jiu
阿拉伯数字 1 2 3 4 5 6 7 8 9
输入字符只包含小写字母,所有字符都可以正好匹配
运行时间限制:无限制
内存限制: 无限制
输入: 一行字符串,长度小于1000
输出: 一行字符(数字)串
样例输入: yiersansi
样例输出: 1234
解法一(C++)
#include<iostream>using namespace std;void convert(char *str){ int i; int length; length = strlen(str); for(i = 0 ; i < length ; ) { switch(str[i]) { case 'y': cout<<"1"; i += 2; break; case 'e': cout<<"2"; i += 2; break; case 's': if(str[i + 1] == 'a') { cout<<"3"; i += 3; } else { cout<<"4"; i += 2; } break; case 'w': cout<<"5"; i += 2; break; case 'l': cout<<"6"; i += 3; break; case 'q': cout<<"7"; i += 2; break; case 'b': cout<<"8"; i += 2; break; case 'j': cout<<"9"; i += 3; break; } } printf("\n");}int main(){ char str[255]; while(cin>>str) { convert(str); } return 0;}
已经运行通过,这里思路就是根据yi er san si wu liu qi ba jiu 首字母的不同来判断,其中要注意san 和si首字母相同,所以要判断一下。
0 0
- 华为机试题之拼音转数字
- 华为机试:中文整数读法的拼音转数字
- 2016.3.18华为上机题:拼音转数字
- A题之拼音转数字
- 拼音转数字
- 拼音转数字
- 拼音转数字
- 【c++】拼音转数字
- 数字拼音转数字
- 华为机试题之正数减法
- 华为机试题之表达式求值
- 华为机试题之---格式转换
- 华为机试题目之投票统计
- 2015年华为校招机试题和代码实现(分解字符串,拼音转数字,去除重复字符并排序,等式变换)
- 华为机试-拼音翻译成阿拉伯数字
- 华为机试题
- 2011 华为机试题
- 华为机试题
- 统计输入字符串中: 各个数字、空白字符、以及其他所有字符出现的次数
- C++之虚继承
- 判断一个字符串是否为另外一个字符串旋转之后的字符串
- 字符串和对应的整数之间的转换
- 编写一个函数itob(),将整数n转换为以b进制的数,保存到s中
- 华为机试题之拼音转数字
- 二维数组中的查找—杨氏矩阵
- 编写一个函数将参数字符串中的字符反向排列
- 在终端输入多行信息,找出包含“ould”的行,并打印改行
- 编写冒泡排序,排序一个整形数组
- 模拟实现printf
- 调整数组使奇数全部都位于偶数前面
- 实现memcpy和memmove函数
- 找出数组中两个只出现了一次的数