输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出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>
#include<math.h>
void nian(int); //声明一个用来把数字念出来的函数,所有名字叫nian
int main()
{ int n;
scanf("%d",&n); //输入需要读的数字
int cnt= 0; //cnt是用来判断数字是几位
int a=n;//这个a是为了在获取cnt时,不改变n的数值设的
while(a!=0){ //获取cnt
a=a/10;
cnt++;
}
int b = pow(10,cnt-1);
if(n<0){
printf("fu ");
int i = -n;
int c =i;
while(b!=0){
int d = c /b;
nian(d);
c = c%b;
if(b>=10){
printf(" "); //为了保持格式,不让最后一个有空格
}
b=b/10;
}
}
if(n>0){
int c =n;
while(b!=0){
int d = c /b;
nian(d);
c = c%b;
if(b>=10){
printf(" ");//为了保持格式,不让最后一个有空格
}
b=b/10;
}
}
if(n==0){
printf("ling");
}
return 0;
}
void nian(int n){
switch(n){
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;
}
}