C++实现 L1-007 念数字 (10分)
一、描述
输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出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
六、思路
- 首先定义1个字符串数组,数组大小为10,分别对应0-9;
- 对于输入的数字字符串进行判断;
- 若为负数,则先输出fu,然后再根据数字找到对应字符串;
- 若为非负数,则先输出第一个数字,然后再根据数字找到对应字符串
七、小知识点
无
八、代码
#include <iostream>
using namespace std;
int main()
{
string s[10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};//存放0-9的拼音
string num;//存放录入的数
cin>>num;
/*负数时*/
if(num[0]=='-')
{
cout<<"fu";//先输出‘-’
for(int i=1;i<num.length();i++)
{
cout<<' '<<s[num[i]-'0'];//注意此处将数字字符转化为对应数字
}
}
/*非负数时*/
else
{
cout<<s[num[0]-'0'];//先输出第一个数字
for(int i=1;i<num.length();i++)
{
cout<<' '<<s[num[i]-'0'];//注意此处将数字字符转化为对应数字
}
}
return 0;
}