http://acm.hdu.edu.cn/showproblem.php?pid=1228
#include <stdio.h>
#include <string.h>
char map[][10]={"zero","one","two","three","four","five","six","seven","eight","nine"};
int change(char s[])
{
for (int i=0;i<10;i++)
{
if ( strcmp(s,map[i])==0 )
{
return i;
}
}
}
int main()
{
int a,b;
char s[10];
while (1)
{
a=0;
while (scanf("%s",s) && strcmp(s,"+")!=0) //注意字符串比较是双引号
{
a=a*10+change(s); //%s 以空格或回车作为一次输入结束,所以每次输入都通过比较得到相应数字
}
b=0;
while (scanf("%s",s) && strcmp(s,"=")!=0)
{
b=b*10+change(s);
}
if (a+b==0)
{
break;
}
printf("%d\n",a+b);
}
return 0;
}