#include<stdio.h>
void SC(int b)//构建一个将数字转化为汉字的函数
{
switch(b)
{
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;
}
}
int main()
{
int a;
scanf("%d",&a);//输入
if(a==0)//特殊情况(判断输入为0)
{
SC(0);
}
if(a<0)//特殊情况(判断输入为负数)
{
printf("fu");
printf(" ");
a=-a;
}
int n[100];//定义数组储存“个位数”
int i;
for(i=1;a>0;i++)
{
n[i]=a%10;//取数字的个位数
a=a/10;//去掉数字的个位数
}
//倒着将“个位数”传值给SC函数
for(;i-1>=1;i--)//上一个for循环最后将i++,所以需要减1,下同
{
SC(n[i-1]);
if(i-1==1){break;}//注意题目要求“行末最后没有空格”
printf(" "); //每个拼音需要空格隔开
}
return 0;
}
本人新手,能力有限,如有错误和不足,请大家批评指出。