1002 寫出這個數 (20)(20 分)


讀入一個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。

輸入格式:每個測試輸入包含1個測試用例,即給出自然數n的值。這里保證n小於10^100^。

輸出格式:在一行內輸出n的各位數字之和的每一位,拼音數字間有1 空格,但一行中最后一個拼音數字后沒有空格。

輸入樣例:

1234567890987654321123456789

輸出樣例:

yi san wu
#include <stdio.h>
#include <string.h>

int main(){
  char c[101];
  char pinyin[][9]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
  int  a[10];
  int i,n=0,t=0;
  gets(c);//讀入一串字符。這里實際上是數據,但是由於是char類型的,由ASCII碼可以進行轉換
  for(i=0;i<strlen(c);i++)
    n=n+c[i]-'0';//當成字符類型讀入時轉換成數字類型要減去0的ASCII碼
  while(n!=0){
    a[t]=n%10;//用a[]數組存儲n由低到高的每個數字
    n=n/10;
    t++;}
  printf("%s",pinyin[a[t-1]]);//數字到拼音的轉換,拼音由二維數組存起來的,注意最高位的索引值是t-1而不是t
  for(i=t-2;i>=0;i--)
      printf(" %s",pinyin[a[i]]);
  return 0;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM