1002 写出这个数,C

#include  <stdio.h>
int main(void)
{
	int  a = 0, i = 0;
	char e[100] = {0};
	int f[100] = {0};
    scanf("%s",e);		//注意:把数字串中每位数字单独以char类型存储起来。
    //数字位数太长,最长为100位,故不能用int或者long int来存储要输入的数字。
    
	while( e[i] )		//遍历字符串e[i]
	{
		a = a + e[i]-48; 	//遍历数字串每个位的数字,并相加,结果储存在a里。 e[i]-48是因为之前输入的每个数字是char类型,
//以ASCII码储存的,ASCII码表中字符'0'对应的数字是48,‘1’为49...以此类推,
//故用char类型数据-48,即可得到其真实数字。或者用e[i]-‘0’,本质一样。
		i++;
	}
    
	for(i=0; a; i++)   
	{
		f[i] = a % 10;  //f[i]用来存放a中各位数字,以便以中文输出各位数
		a = a/10;
	}
	i--;
	while(i+1)
	{
		switch (f[i])
		{
		case 0:printf("%s", "ling");	break;
		case 1:printf("%s", "yi");		break;
		case 2:printf("%s", "er");		break;
		case 3:printf("%s", "san");		break;
		case 4:printf("%s", "si");		break;
		case 5:printf("%s", "wu");		break;
		case 6:printf("%s", "liu");		break;
		case 7:printf("%s", "qi");		break;
		case 8:printf("%s", "ba");		break;
		case 9:printf("%s", "jiu");		break;
		}
		if(i)	printf(" "); 	//注意:最后一个拼音后不能有空格
		i--;
	}

    return 0;
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值