题目描述
输入两个小于100的正整数A和B,计算A+B。注意:A和B的每一个数字由对应的英文单词组成。
输入
测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =",相邻两字符串有一个空格间隔。当A和B同时为zero时输入结束,相应的结果不要输出
输出
对每个测试用例输出1行,即A+B的值.
样例输入
one + two =
three four + five six =
seven + eight nine =
one two + two zero =
zero + zero =
样例输出
3
90
96
32
#include<stdio.h>
#include<string.h>
int change(char arr[])
{
if (strcmp(arr, "one") == 0)return 1;
else if (strcmp(arr, "two") == 0)return 2;
else if (strcmp(arr, "three") == 0)return 3;
else if (strcmp(arr, "four") == 0)return 4;
else if (strcmp(arr, "five") == 0)return 5;
else if (strcmp(arr, "six") == 0)return 6;
else if (strcmp(arr, "seven") == 0)return 7;
else if (strcmp(arr, "eight") == 0)return 8;
else if (strcmp(arr, "nine") == 0)return 9;
else if (strcmp(arr, "zero") == 0)return 0;
}
int main()
{
char arr[1000] = { 0 };
int sum1 ,sum2 ;
while(1)
{
sum1 = 0, sum2 = 0;
while (scanf("%s", arr)==1 && strcmp(arr, "+") != 0)
{
sum1 = sum1 * 10 + change(arr);
}
while (scanf("%s", arr)==1 && strcmp(arr, "=") != 0)
{
sum2 = sum2 * 10 + change(arr);
}
if (sum1==0 && sum2 == 0)
{
break;
}
else
{
printf("%d\n", sum1 + sum2);
}
getchar();
}
return 0;
}