SDJZU A+B

来源:互联网 发布:小生意记账软件 编辑:程序博客网 时间:2024/06/02 02:24

题目描述

读入两个小于100的正整数A和B,计算A+B.
需要注意的是:A和B的每一位数字由对应的英文单词给出.

输入格式

测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =",相邻两字符串有一个空格间隔.当A和B同时为0时输入结束,相应的结果不要输出.

输出

对每个测试用例输出1行,即A+B的值.

样例输入

one + two =
three four + five six =
zero seven + eight nine =
zero + zero =

样例输出

3
90
96


#include<stdio.h>#include<string.h>char z[10];int A(char z[]){    if(strcmp(z,"zero")==0) return 0;    else if(strcmp(z,"one")==0) return 1;    else if(strcmp(z,"two")==0) return 2;    else if(strcmp(z,"three")==0) return 3;    else if(strcmp(z,"four")==0) return 4;    else if(strcmp(z,"five")==0) return 5;    else if(strcmp(z,"six")==0) return 6;    else if(strcmp(z,"seven")==0) return 7;    else if(strcmp(z,"eight")==0) return 8;    else if(strcmp(z,"nine")==0) return 9;    return 0;}int main(){    int a=0,b;    while (scanf("%s",&z)!=EOF)    {        if (strcmp(z,"=")==0)        {            if (a==0&&b==0)                return 0;            else            {                printf("%d\n",a+b);                a=0;            }        }        else if(strcmp(z,"+")==0)        {            b=a;            a=0;        }        else a=a*10+A(z);//一个函数,确定a,b的值;    }    return 0;}