字符串处理,Poj(2121)
2024-08-27 13:03:53
题目链接: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 ;
}
最新文章
- docker学习(4) 一些常用操作
- c# 服务端
- C++开发必看 四种强制类型转换的总结
- 一步一步学Python(2) 连接多台主机执行脚本
- Vijos 1006 晴天小猪历险记之Hill 单源单汇最短路
- 轻松学JVM(一)&mdash;&mdash;基本原理
- Html事件冒泡
- HDU4858 项目管理 其他
- 练习题|网络编程-socket开发
- .Net学习资料
- 人的一生为什么要努力 &;1
- javascript数据基本定义以及对象{}和数组[]的含义和使用
- C语言的内存对齐
- android发送短信样例
- UIView总结
- 将vi or vim中的内容复制到terminal中
- JavaSE 手写 Web 服务器(二)
- bzoj 3524 可持久化线段树
- 线程同步工具 Semaphore类使用案例
- Java 编程
热门文章
- Linux7.3 glib-2.49安装记录
- 网页console console.log 用法 Chrome F12
- 转 RMAN-20005: target database name is ambiguous
- Python 15 I/O编程
- Java 实践
- 关于火狐不响应event.keyCode解决方法
- [转]关于Jquery的DataTables里TableTools的应用
- 手机web前端调试页面的几种方式
- linux 防止ssh暴力破解密码
- 使用Nginx、Keepalived构建文艺负载均衡