题目描述:
输入一串拼音,输出它代表的阿拉伯数字(Ling,Yi,Er,San,Si,Wu,Liu,Qi,Ba,Jiu),数字不会超过十万
为了处理方便,输入一定是只有数字拼音的,没有其他的单词或者字符。
输入:JiuBaWuSi
输出:9854
代码:
#include<stdio.h>
#include<string.h>
#define N 20
int main()
{
int i,len,j,k;
char a[N],b[N];
char *ch[]={"Ling","Yi","Er","San","Si","Wu","Liu","Qi","Ba","Jiu"};
while(scanf("%s",a)!=EOF)
{
len=strlen(a);
for(i=0;i<len;i++)
{
for(j=i+1;j<=len;j++)
{
strncpy(b,&a[i],j-i);
b[j-i] = '\0';
for(k=0;k<=9;k++)
{
if(!strcmp(b,ch[k]))
{
printf("%d",k);
break;
}
}
}
}
}
}