標籤:
1002. 寫出這個數 (20)時間限制400 ms記憶體限制65536 kB代碼長度限制8000 B判題程式Standard作者CHEN, Yue
讀入一個自然數n,計算其各位元字之和,用漢語拼音寫出和的每一位元字。
輸入格式:每個測試輸入包含1個測試案例,即給出自然數n的值。這裡保證n小於10100。
輸出格式:在一行內輸出n的各位元字之和的每一位,拼音數字間有1 空格,但一行中最後一個拼音數字後沒有空格。
輸入範例:
1234567890987654321123456789
輸出範例:
yi san wu
提交代碼
1 #include<stdio.h> 2 #include<string.h> 3 #define N 10000 4 5 void Pinyin(int n) 6 { 7 switch (n) 8 { 9 case 0: printf("ling");10 break;11 case 1: printf("yi");12 break;13 case 2: printf("er");14 break;15 case 3: printf("san");16 break;17 case 4: printf("si");18 break;19 case 5: printf("wu");20 break;21 case 6: printf("liu");22 break;23 case 7: printf("qi");24 break;25 case 8: printf("ba");26 break;27 case 9: printf("jiu");28 break;29 }30 return;31 }32 int main()33 {34 char str[N];35 int sum=0,i,j,len,num[1000];36 scanf("%s",&str);37 len=strlen(str);38 for ( i=0;i<len;i++ ){39 sum+=str[i]-‘0‘;40 }41 for ( i=0; ;i++ )42 {43 num[i]=sum%10;44 if ( sum<10 )45 break;46 sum=sum/10;47 }48 for ( j=i; j>=0; j-- )49 {50 Pinyin(num[j]);51 if ( j>0 )52 printf(" ");53 }54 return 0;55 }
PAT (Basic Level) Practise (中文)1002