题目链接:http://poj.org/problem?id=2121

差一点就WA哭了,主要是自己傻逼了。

思路:

遇到hundred,sum*100;

但是遇到thouthend,million,ans+=sum*(... ...),sum=0;

因为到了thouthend,million,后面肯定又是新的数字,跟前面的没关系了,sum=0;

而hundred,后面是可以再加数的,比如22,所以这里只要sum*=100;

注意:

这里经典的一招,杰哥教我的,要重置一下order,只需要order[k]='/0';

而不需要memset了。

#include <stdio.h>
#include <iostream>
#include <string.h> using namespace std; char str[]; int main()
{
while(gets(str))
{
//printf("%s",str);
if(strcmp(str,"")==)
break;
bool flag = false;
int ans=;
int sum=;
char order[]={'\0'};
int k=;
for(int i=;i<strlen(str)+;i++)
{
if(str[i]!=' '&&str[i]!='\0')
order[k++] = str[i];
else{
order[k] = '\0';
k=;
if(!strcmp(order,"negative")) flag = true;
if(!strcmp(order,"zero")) sum+=;
if(!strcmp(order,"one")) sum+=;
if(!strcmp(order,"two")) sum+=;
if(!strcmp(order,"three")) sum+=;
if(!strcmp(order,"four")) sum+=;
if(!strcmp(order,"five")) sum+=;
if(!strcmp(order,"six")) sum+=;
if(!strcmp(order,"seven")) sum+=;
if(!strcmp(order,"eight")) sum+=;
if(!strcmp(order,"nine")) sum+=;
if(!strcmp(order,"ten")) sum+=;
if(!strcmp(order,"eleven")) sum+=;
if(!strcmp(order,"twelve")) sum+=;
if(!strcmp(order,"thirteen")) sum+=;
if(!strcmp(order,"fourteen")) sum+=;
if(!strcmp(order,"fifteen")) sum+=;
if(!strcmp(order,"sixteen")) sum+=;
if(!strcmp(order,"seventeen")) sum+=;
if(!strcmp(order,"eighteen")) sum+=;
if(!strcmp(order,"nineteen")) sum+=;
if(!strcmp(order,"twenty")) sum+=;
if(!strcmp(order,"thirty")) sum+=;
if(!strcmp(order,"forty")) sum+=;
if(!strcmp(order,"fifty")) sum+=;
if(!strcmp(order,"sixty")) sum+=;
if(!strcmp(order,"seventy")) sum+=;
if(!strcmp(order,"eighty")) sum+=;
if(!strcmp(order,"ninety")) sum+=;
if(!strcmp(order,"hundred"))
{
sum=sum*;
}
if(!strcmp(order,"thousand"))
{
ans = ans+sum * ;
sum = ;
}
if(!strcmp(order,"million"))
{
ans =ans+sum *;
sum = ;
}
}
} if(flag)
printf("-%d\n",ans+sum);
else printf("%d\n",ans+sum);
}
return ;
}

字符串处理,Poj(2121)的更多相关文章

  1. POJ 2121

    http://poj.org/problem?id=2121 一道字符串的转换的题目. 题意:就是把那个英文数字翻译成中文. 思路:首先打表,然后把每一个单独的单词分离出来,在组合相加相乘. #inc ...

  2. 字符串hash - POJ 3461 Oulipo

    Oulipo Problem's Link ---------------------------------------------------------------------------- M ...

  3. 字符串KMP || POJ 2185 Milking Grid

    求一个最小矩阵,经过复制能够覆盖原矩阵(覆盖,不是填充,复制之后可以有多的) *解法:横着竖着kmp,求最大公倍数的做法是不对的,见http://blog.sina.com.cn/s/blog_69c ...

  4. 字符串截取模板 && POJ 3450、3080 ( 暴力枚举子串 && KMP匹配 )

    //截取字符串 ch 的 st~en 这一段子串返回子串的首地址 //注意用完需要根据需要最后free()掉 char* substring(char* ch,int st,int en) { ; c ...

  5. poj 题目分类(1)

    poj 题目分类 按照ac的代码长度分类(主要参考最短代码和自己写的代码) 短代码:0.01K--0.50K:中短代码:0.51K--1.00K:中等代码量:1.01K--2.00K:长代码:2.01 ...

  6. POJ题目分类(按初级\中级\高级等分类,有助于大家根据个人情况学习)

    本文来自:http://www.cppblog.com/snowshine09/archive/2011/08/02/152272.spx 多版本的POJ分类 流传最广的一种分类: 初期: 一.基本算 ...

  7. POJ题目细究

    acm之pku题目分类 对ACM有兴趣的同学们可以看看 DP:  1011   NTA                 简单题  1013   Great Equipment     简单题  102 ...

  8. 转载:poj题目分类(侵删)

    转载:from: POJ:http://blog.csdn.net/qq_28236309/article/details/47818407 按照ac的代码长度分类(主要参考最短代码和自己写的代码)  ...

  9. 字符串专题:map POJ 1002

    第一次用到是在‘校内赛总结’扫地那道题里面,大同小异 map<string,int>str 可以专用做做字符串的匹配之类的处理 string donser; str [donser]++ ...

随机推荐

  1. 15.Servlet程序结构与部署

    1.JavaEE应用程序结构 组成:Servlet  JSP  工具类  第三方jar包,HTML页面(图片.Flash) 部署结构: JavaEE应用根目录下的资源都是允许客户端访问的(WEB-IN ...

  2. thymeleaf总结

    thymeleaf 基本功能是将 th:xxx的内容替换html标签的内容 原标签的内容会被替换掉,原内容只是前端用来显示demo的 和freemarker, velocity的重要区别是,它们的自定 ...

  3. mybatis mapper问题列表

    id出现两次 2018-11-14 16:15:03.833 DEBUG 41432 --- [           main] c.a.i.o.d.mapper.DatvMapper.insert  ...

  4. HTML6即将到来,你没有看错是HTML6

    HTML6提案1:对视频对象的更多控制 我们可能永远不会解决与压缩编解码器的争斗,但我们可以与之配合.不同的压缩算法可能需要更多的工作来实现,但是它们提供竞争.能对展现在页面上的视频帧提供更多控制的方 ...

  5. thinkphp3.2.3 ueditor1.4.3 图片上传操作,在线删除上传图片功能。

    最近弄一个图片 上传,可是用ueditor 自带的上传,如果不配置的话,上传的目录不在自己的项目中. 在网上找了好多,可是都是底版本的,新版本的还真是找到了一个,ueditor-thinkphp 这个 ...

  6. 使用Nginx、Keepalived构建文艺负载均衡

    面对网站服务器端负载增大的问题,是"拿15万¥买一台服务器"来解决,还是靠"加三倍服务器"来解决?还是用其它一些办法? 对于一个访问量日益增加的网站架构而言,从 ...

  7. HIbernate基于外键的查询

    此文以个人开发记录为目的,笔拙勿喷 项目是背景是公司的E签宝平台VIP频道项目进行关联账户增加后,需要做删除时的,联合查询 当前主要表结构账户表Account. CREATE TABLE `accou ...

  8. EF的注解Annotation和Fluent API

    注意:Annotation特性标记可组合使用,也就是在一个类或属性上可以附加多个annotations特性 一.常用注解和对应的Fluent API 1.[Required]              ...

  9. js弹出页面

    建立一个HTML文件,输入以下代码就能弹出页面 <!DOCTYPE html> <html lang="en"> <head> <meta ...

  10. DO、PO、BO、DTO、VO等概念

    PO 全称为:Persistant Object,持久化对象,与数据库结构映射的实体,数据库中的一条数据即为一个 PO 对象. BO 全称为:Business Object,业务对象,主要作用是把业务 ...