PAT1002.この数を書く

2212 ワード

この問題は主に基本的な文字列、文字列配列操作に関する.n%10は下位(残数)、n/10は上位(最下位を除く)をとる.
#include 
#include 

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;
}