• A + B


    A + B

    Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)
    Total Submission(s) : 52   Accepted Submission(s) : 17
    Problem Description
    读入两个小于100的正整数A和B,计算A+B. 需要注意的是:A和B的每一位数字由对应的英文单词给出.
     
    Input
    测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =",相邻两字符串有一个空格间隔.当A和B同时为0时输入结束,相应的结果不要输出.
     
    Output
    对每个测试用例输出1行,即A+B的值.
     
    Sample Input
    one + two = three four + five six = zero seven + eight nine = zero + zero =
     
    Sample Output
    3 90 96
     
    Source
    浙大计算机研究生复试上机考试-2005年
     
     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 #include <string.h>
     4 int main()
     5 {
     6     char a[30],d[30];
     7     int b[30],sum,i,j,k,K,sign,z;
     8     while(gets(a))
     9     {
    10         k=strlen(a);
    11         for(i=0,sign=1;i<k;i++)
    12         {
    13           if(a[i]==' ')
    14           {
    15               a[i]='';
    16               sign++;
    17           }
    18         }
    19         for(j=0,i=0;j<sign;j++,i++)
    20         {
    21             for(z=0,i;a[i]!='';z++,i++)
    22                 d[z]=a[i];
    23             d[z]='';
    24             if(strcmp(d,"one")==0)
    25                 b[j]=1;
    26             else if(strcmp(d,"two")==0)
    27                 b[j]=2;
    28             else if(strcmp(d,"three")==0)
    29                 b[j]=3;
    30             else if(strcmp(d,"four")==0)
    31                 b[j]=4;
    32             else if(strcmp(d,"five")==0)
    33                 b[j]=5;
    34             else if(strcmp(d,"six")==0)
    35                 b[j]=6;
    36             else if(strcmp(d,"seven")==0)
    37                 b[j]=7;
    38             else if(strcmp(d,"eight")==0)
    39                 b[j]=8;
    40             else if(strcmp(d,"nine")==0)
    41                 b[j]=9;
    42             else if(strcmp(d,"zero")==0)
    43                 b[j]=0;
    44             else if(d[0]=='+')
    45                 {K=j;continue;}
    46             else if(d[0]=='=')
    47                 if(j==3)
    48                 {
    49                     if(b[0]!=0||b[2]!=0)
    50                         printf("%d
    ",b[0]+b[2]);
    51                     else
    52                         return;
    53                 }
    54                 else if(j==4)
    55                 {
    56                         if(K==2)
    57                             if(b[0]*10+b[1]!=0||b[3]!=0)
    58                                 printf("%d
    ",b[0]*10+b[1]+b[3]);
    59                             else
    60                                 return;
    61                         else if(K==1)
    62                             if(b[0]!=0||b[2]*10!=0+b[3]!=0)
    63                                 printf("%d
    ",b[0]+b[2]*10+b[3]);
    64                             else
    65                                 return;
    66                 }
    67                 else
    68                 {
    69                     if(b[0]*10+b[1]!=0||b[3]*10+b[4]!=0)
    70                         printf("%d
    ",b[0]*10+b[1]+b[3]*10+b[4]);
    71                     else
    72                         return;
    73                 }
    74 
    75         }
    76     }
    77     return 0;
    78 }
    View Code
    转载请备注:
    **************************************
    * 作者: Wurq
    * 博客: https://www.cnblogs.com/Wurq/
    * Gitee: https://gitee.com/wurq
    **************************************
  • 相关阅读:
    docker save docker load
    Vue 开发线路 资料 汇总
    electron 开发拆坑总结
    mysqldbcopy 数据库复制工具
    用rsync命令删除大文件夹
    linux nc,nmap,telnet ,natstat命令
    搭建云版容器版本 需要的基础软件 安装工具
    phantomjs 前端测试工具
    消息列队 php 基于redis 实现
    部分安卓机器【小米手机】,文字显示不全
  • 原文地址:https://www.cnblogs.com/Wurq/p/3750231.html
Copyright © 2020-2023  润新知