Problem Description读入两个小于100的正整数A和B,计算A+B.需要注意的是:A和B的每一位数字由对应的英文单词给出. Input测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =",相邻两字符串有一个空格间隔.当A和B同时为0时输入结束,相应的结果不要输出. Output对每个测试用例输出1行,即A+B的值. Sample Inputone + two = three four + five six = zero seven + eight nine = zero + zero = Sample Output3 90 96
#include#include int searchs(char a[]){ char x[11][11]={ "zero","one","two","three","four","five","six","seven","eight","nine"}; int i; for(i=0;i<10;i++){ if(strcmp(x[i],a)==0) break; } return i;}int main(){ int a,b; char s[10]; while(true){ a=b=0; while(scanf("%s",s)&&strcmp(s,"+")){ a=a*10+searchs(s); } while(scanf("%s",s)&&strcmp(s,"=")){ b=b*10+searchs(s); } if(a==0&&b==0) break; printf("%d\n",a+b); } return 0;}
strcmp(char s1[],char s2)
s1=s2 return 0
s1<s2 return 负数
s1>s2 return 正数