• HDU 1228(字符串处理)


    题意是将所给算式求出结果。

    用的方法非常麻烦,开始没考虑到零也需要处理,以为遇上零直接跳过即可,知道发现零可以占位,比如 one zero 值为 10 而不是 1……

    代码如下:

      1 #include <bits/stdc++.h>
      2 using namespace std;
      3 int main()
      4 {
      5     char s1[10],s2[10];
      6     int a1,a2;
      7     while(1)
      8     {
      9         a1 = a2 = 0;
     10         while(scanf("%s",s1) && strcmp(s1,"+"))
     11         {
     12                 if(strcmp(s1,"one")==0)
     13                 {
     14                     a1 = a1*10+1;
     15                 }
     16                 else if(strcmp(s1,"two")==0)
     17                 {
     18                     a1 = a1*10+2;
     19                 }
     20                 else if(strcmp(s1,"three")==0)
     21                 {
     22                     a1 = a1*10+3;
     23                 }
     24                 else if(strcmp(s1,"four")==0)
     25                 {
     26                     a1 = a1*10+4;
     27                 }
     28                 else if(strcmp(s1,"five")==0)
     29                 {
     30                     a1 = a1*10+5;
     31                 }
     32                 else if(strcmp(s1,"six")==0)
     33                 {
     34                     a1 = a1*10+6;
     35                 }
     36                 else if(strcmp(s1,"seven")==0)
     37                 {
     38                     a1 = a1*10+7;
     39                 }
     40                 else if(strcmp(s1,"eight")==0)
     41                 {
     42                     a1 = a1*10+8;
     43                 }
     44                 else if(strcmp(s1,"nine")==0)
     45                 {
     46                     a1 = a1*10+9;
     47                 }
     48                 else{
     49                     a1 = a1*10;
     50                 }
     51         }
     52         while(scanf("%s",s2) && strcmp(s2,"="))
     53         {
     54                 if(strcmp(s2,"one")==0)
     55                 {
     56                     a2 = a2*10+1;
     57                 }
     58                 else if(strcmp(s2,"two")==0)
     59                 {
     60                     a2 = a2*10+2;
     61                 }
     62                 else if(strcmp(s2,"three")==0)
     63                 {
     64                     a2 = a2*10+3;
     65                 }
     66                 else if(strcmp(s2,"four")==0)
     67                 {
     68                     a2 = a2*10+4;
     69                 }
     70                 else if(strcmp(s2,"five")==0)
     71                 {
     72                     a2 = a2*10+5;
     73                 }
     74                 else if(strcmp(s2,"six")==0)
     75                 {
     76                     a2 = a2*10+6;
     77                 }
     78                 else if(strcmp(s2,"seven")==0)
     79                 {
     80                     a2 = a2*10+7;
     81                 }
     82                 else if(strcmp(s2,"eight")==0)
     83                 {
     84                     a2 = a2*10+8;
     85                 }
     86                 else if(strcmp(s2,"nine")==0)
     87                 {
     88                     a2 = a2*10+9;
     89                 }
     90                 else
     91                 {
     92                     a2 = a2*10;
     93                 }
     94         }
     95         if(a1==0 && a2==0)
     96             break;
     97 //        printf("a1:%d  a2:%d
    ",a1,a2);
     98         printf("%d
    ",a1+a2);
     99     }
    100     return 0;
    101 }
    View Code
  • 相关阅读:
    MYSQL存储引擎
    微信公众号自定义菜单
    TCP 三次握手与四次挥手
    微信扫码关注公众号并登录网站
    redis scan命令使用
    [转]Maven多模块结构下版本管理的正确姿势-revision
    线程间的协作wait,notify,sleep,yield,join
    GIT 撤销操作
    Kafka学习理解-listeners配置
    Kafka 简介梳理
  • 原文地址:https://www.cnblogs.com/Taskr212/p/10400644.html
Copyright © 2020-2023  润新知