1. 程式人生 > >念數字

念數字

個數 輸入一個整數 %d amp -- 空格 ase 格式 輸入格式

題目 念數字 (10 分)

輸入一個整數,輸出每個數字對應的拼音。當整數為負數時,先輸出fu字。十個數字對應的拼音如下:

0: ling
1: yi
2: er
3: san
4: si
5: wu
6: liu
7: qi
8: ba
9: jiu

輸入格式:

輸入在一行中給出一個整數,如:

1234

提示:整數包括負數、零和正數。

輸出格式:
在一行中輸出這個整數對應的拼音,每個數字的拼音之間用空格分開,行末沒有最後的空格。如

yi er san si

輸入樣例:

-600

輸出樣例:

fu liu ling ling

代碼:

#include<stdio.h>
int main()
{
  int n,num,cnt=1,j=0,d;
  scanf("%d",&n);
  if(n==0)
     printf("ling");
  else{

  if(n<0){
    printf("fu ");
    n=-n;
  }
  num=n;
  while(num){
    num/=10;
    cnt*=10;
    j++;
  }
  cnt=cnt/10;
  num=n;
  while(j){
    d=num/cnt;
    num%=cnt;
    cnt/=10;
    switch(d)
    {
     case 0:printf("ling");break;
     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;
    }
    if(j!=1)
      printf(" ");
    j--;
   }
 }
  return 0;
}

念數字