题目要求: 输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:
0: ling 1: yi 2: er 3: san 4: si 5: wu 6: liu 7: qi 8: ba 9: jiu 输入格式: 输入在一行中给出一个整数,如:1234。
提示:整数包括负数、零和正数。
输出格式: 在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如 yi er san si。
输入样例: -600 输出样例: fu liu ling ling
解题思路: 字符串的遍历,判断相应字符输出对应的拼音。
通关代码:
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
cin >> str;
for (string::iterator p = str.begin(); p != str.end(); p++) {
switch (*p) {
case '-':
cout << "fu"; break;
case '0':
cout << "ling"; break;
case '1':
cout << "yi"; break;
case '2':
cout << "er"; break;
case '3':
cout << "san"; break;
case '4':
cout << "si"; break;
case '5':
cout << "wu"; break;
case '6':
cout << "liu"; break;
case '7':
cout << "qi"; break;
case '8':
cout << "ba"; break;
case '9':
cout << "jiu"; break;
}
if (p != str.end() - 1) {
cout << " ";
}
}
return 0;
}
通关截图:
值得注意: 记得检查拼音是否正确!!!