#include <stdio.h>
#include <math.h>
int main()
{
int n,x,y;
int i=0;
scanf("%d",&n);
y=n;
if(n<0){
printf("fu");
n=-n;
}
while(n>0){
n=n/10;
i++;}
while(y>0){
x=y/pow(10,(i-1));
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;
case 0:
printf(" ling");
break;
}
i--;
y=y/10;
}
return 0;
}
你题目的解答代码如下:
#include <stdio.h>
#include <math.h>
int main()
{
int n, x, y;
int i = 0;
scanf("%d", &n);
y = n;
if (n < 0)
{
printf("fu");
n = -n;
}
while (n > 0)
{
n = n / 10;
i++;
}
while (i > 0)
{
x = (int)(y / pow(10, (i - 1))) % 10;
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;
case 0:
printf(" ling");
break;
}
i--;
}
return 0;
}
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
这做麻烦了。定义0到9的拼音数组,然后用递归函数,对整数不断求余10,得到每一数字,作为下标输出拼音
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!