#include <stdio.h>
int main()
{
int Digital;
scanf("%d",&Digital);//输入一个整数
int Mid_Digital=Digital;
int Mid_Digital_1=Digital;
int Dex_Digital=1;
int chushu=1;
int a;
int e;
while((Mid_Digital/10)!=0)//通过循环获取该整数的位数并存入Dex_Digital
{
Dex_Digital++;
Mid_Digital/=10;
}
for(a=1;a<Dex_Digital;a++)//通过循环获取一个整数 chushu,该数是10的 Dex_Digital次方
{
chushu*=10;
}
if(Digital>=0)//对输入的整数作非负性判断
{
JIEDIAN: //连接下方同级else if里面的goto语句
do//做循环输出数字每位的拼音
{
e=Mid_Digital_1/chushu;//获取输入整数的最高位
Mid_Digital_1=Mid_Digital_1%chushu;//获取输入整数的除最高位外的数字
chushu/=10;//对除数退位
switch(e)//将每位数字读出
{
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(chushu>0)//做判断在拼音后添加空格,最后一位不添加空格
{
printf(" ");
}
}while(chushu>0);
}
else if(Digital<0)//作输入整数负属性判断 ,若为负则执行
{
printf("fu ");//输出"-" 的拼音
Digital=Digital*(-1);//对输入负数取正
Mid_Digital_1=Digital;
goto JIEDIAN;//连接到输出数字拼音位置,标号为 JIEDIAN
}
return 0;
}
MOOC浙大翁凯C语言第五周编程练习第二题——念整数
最新推荐文章于 2024-11-12 21:59:57 发布