pat乙级-1002 写出这个数 (20)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

#define N 10000
int main()
{
int a,k,sum,i,j,p[N];
char c[N];
char *b[10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
sum=0;
gets(c);
for(k=0;c[k]>0;k++)
{
a=(c[k]-'0')%10;
sum=sum+a;
c[k]=(c[k]-'0')/10;
}
for(i=0;sum>0;i++)
{
p[i]=sum%10;
sum=sum/10;
}
for(i=i-1;i>0;i--)
{
j=p[i];
printf("%s ",b[j]);
}

printf("%s",b[p[0]]);
return 0;
}