输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出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 <stdio.h>
int main()
{
//输入一个整数num
int num;
scanf("%d", &num);
//将负数转换为正数处理
if (num < 0) {
printf("fu ");
num = -num;
}if(num==0){
printf("ling");
return 0;
}
//求出它是几位数weishu
int weishu=1;
int flag=num/weishu;
while(flag!=0){
weishu=weishu*10;
flag=num/weishu;
}
weishu=weishu/10;//如weishu等于100,则表示这是一个三位数
//分离出每一位数字digit
int digit;
int is_last_digit;
while(weishu>0){
digit=num/weishu;
num=num%weishu;
weishu=weishu/10;
//判断是否为最后一个数字
if(weishu==0&&num==0){
is_last_digit=1;//C语言中赋值为1表示真,赋值为0表示错/假
}else{
is_last_digit=0;
}
//输出每一个数字对应的拼音
switch(digit){
case 0:printf("ling");break;
case 1:printf("yi");break;
case 2:printf("er");break;
case 3:printf("san");break;
case 4:printf("si");break;
case 5:printf("wu");break;
case 6:printf("liu");break;
case 7:printf("qi");break;
case 8:printf("ba");break;
case 9:printf("jiu");break;
}
//如果不是最后一个数字,输出空格
if(!is_last_digit){
printf(" ");
}
}
return 0;
}
有任何疑问可以评论\留言\私信给我!