輸入是一個只包含拼音的字符串,請輸出對應的數字序列。轉換關系如下:
描述: 拼音 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首字母相同,所以要判斷一下。
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态