输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出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() { int n,j,i=0; int ch[100]; scanf("%d",&n); if(n==0) printf("ling"); if(n<0) { printf("fu "); n=-n; } while(n!=0) { ch[i]=n%10; n/=10; i++; } for(j=i-1;j>=0;j--) { if(ch[j] == 0) printf("ling"); else if(ch[j] == 1) printf("yi"); else if(ch[j] == 2) printf("er"); else if(ch[j] == 3) printf("san"); else if(ch[j] == 4) printf("si"); else if(ch[j] == 5) printf("wu"); else if(ch[j] == 6) printf("liu"); else if(ch[j] == 7) printf("qi"); else if(ch[j] == 8) printf("ba"); else if(ch[j] == 9) printf("jiu"); if(j != 0) printf(" "); } printf("\n"); return 0; }
心里路程:
这个题困扰了我很久,在网上看了很多人的博客,最终打出来了。
我觉得难点在于一开始不知道如何将数字与字母挂钩,然后就是没想到用数组存放,然后倒序输出