題目內容: 你的程式要讀入一個整數,範圍是[-100000,100000]。然後,用漢語拼音將這個整數的每一位輸出出來。 如輸入1234,則輸出: yi er san si 註意,每個字的拼音之間有一個空格,但是最後的字後面沒有空格。當遇到負數時,在輸出的開頭加上“fu”,如-2341輸出為: fu ...
題目內容:
你的程式要讀入一個整數,範圍是[-100000,100000]。然後,用漢語拼音將這個整數的每一位輸出出來。
如輸入1234,則輸出:
yi er san si
註意,每個字的拼音之間有一個空格,但是最後的字後面沒有空格。當遇到負數時,在輸出的開頭加上“fu”,如-2341輸出為:
fu er san si yi
輸入格式:
一個整數,範圍是[-100000,100000]。
#include <stdio.h>
int main(){
int a, digit = 100000;
scanf("%d", &a);
if (a < 0) {
printf("fu ");
a = -a;
}
while (digit > 1)
{
if (a / digit != 0)
{
break;
}
digit /= 10;
}
for (; digit > 0; digit /= 10) {
switch (a / digit)
{
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;
case 0:
printf("ling");
break;
}
a -= (a / digit) * digit;
if (digit != 1) {
putchar(' ');
}
}
return 0;
}