讀入一個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。
輸入格式:每個測試輸入包含1個測試用例,即給出自然數n的值。這裡保證n小於10100。
輸出格式:在一行內輸出n的各位數字之和的每一位,拼音數字間有1 空格,但一行中最後一個拼音數字後沒有空格。
輸入樣例:
1234567890987654321123456789
輸出樣例:
yi san wu
1 #include <stdio.h> 2 #include <string.h> 3 4 void print_num(int num) 5 { 6 char num_str[4] = {0}; 7 sprintf(num_str,"%d", num); 8 char * temp = num_str; 9 while(*temp != '\0') 10 { 11 switch(*temp) 12 { 13 case '0': 14 printf("ling"); 15 break; 16 case '1': 17 printf("yi"); 18 break; 19 case '2': 20 printf("er"); 21 break; 22 case '3': 23 printf("san"); 24 break; 25 case '4': 26 printf("si"); 27 break; 28 case '5': 29 printf("wu"); 30 break; 31 case '6': 32 printf("liu"); 33 break; 34 case '7': 35 printf("qi"); 36 break; 37 case '8': 38 printf("ba"); 39 break; 40 case '9': 41 printf("jiu"); 42 break; 43 default: 44 break; 45 } 46 temp++; 47 if (*temp != '\0') 48 printf(" "); 49 else 50 printf("\n"); 51 } 52 } 53 54 int main(int argc, char *argv[]) 55 { 56 char num[101] = {0}; 57 char *temp = num; 58 int total = 0; 59 scanf("%s",num); 60 while(*temp != '\0') 61 { 62 total += (*temp - '0'); 63 temp++; 64 } 65 print_num(total); 66 return 0; 67 }