1002 写出这个数 (20分) (pat考试)

#include <stdio.h>
#include <math.h>
int main()
{ int sum,i=0,j=0,ch[100];
char a[10000];
gets(a);
while(a[i]!='\0')
{
sum+=a[i]-'0' ;
i++;
}
int cnt=0,t;
t=sum;
do
{
t/=10;
cnt++;
}while(t>0);
int mask=pow(10,cnt-1),d;
do
{
d=sum/mask;
ch[j]=d;
j++;
sum%=mask;
mask/=10;
}while(mask>0);
for(i=0;i<j;i++)
{ int k=ch[i];
switch(k)
{
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(i<j-1) printf(" ");
else printf("\n");
}


return 0;
}

 

posted @ 2020-02-10 17:06  我是个好孩子  阅读(129)  评论(0编辑  收藏  举报