示例代码:
#include <stdio.h>
#include <string.h>
#define N 10
char num[N] = {0} ;
void yuyin(int n , int x)
{
if (x == 1 && (n == 9 || n == 5))
{
printf("shi ");
return ;
}
else
{
switch(x)
{
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;
default :break;
}
switch(n)
{
case 1 : printf("shi ");break;
case 2 : printf("bai ");break;
case 3 : printf("qian ");break;
case 4 : printf("wan ");break;
case 5 : printf("shi ");break;
case 6 : printf("bai ");break;
case 7 : printf("qian ");break;
case 8 : printf("yi ");break;
case 9 : printf("shi ");break;
case 10 : printf("bai ");break;
default :break;
}
}
return ;
}
int main(void)
{
int i = 0 , n = 0;
scanf("%s",num);
n = strlen(num) ;
for (i = 0 ; i < n ; i ++)
{
if (num[i] == '0' && i < n-1)
{
if (num[i+1] != '0')
{
printf("ling ");
}
continue;
}
yuyin(n-1 -i,num[i]-48);
}
return 0;
}