輸入一個整數,輸出每個數字對應的拼音。當整數為負數時,先輸出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; }
心里路程:
這個題困擾了我很久,在網上看了很多人的博客,最終打出來了。
我覺得難點在於一開始不知道如何將數字與字母掛鈎,然后就是沒想到用數組存放,然后倒序輸出